Skip to content

egg-scripts日志输出目录 #3912

Closed
Closed
@fall-wind

Description

@fall-wind

Background

目前egg-script slogs输出目录指定为 HOME下的logs目录 没有则会创建
image
而在生产环境上 我并没有在HOME目录下创建文件夹的权限,这个权限也不能给。但是在应用的目录创建文件的权限是有的

Proposal

建议能指定egg-scripts的 logs 输出目录

Activity

thonatos

thonatos commented on Aug 28, 2019

@thonatos
Member

Config 可以配置,请查阅文档。

fall-wind

fall-wind commented on Aug 29, 2019

@fall-wind
Author

Config 可以配置,请查阅文档。

你说的是egg的日志吧,那个我已经配置了。 我说的是egg-scripts的logs目录的更改。它们的配置应该不是公用的,如果文档上有说明,请帮忙指出。谢谢

fall-wind

fall-wind commented on Aug 29, 2019

@fall-wind
Author

Config 可以配置,请查阅文档。

看了一下node-homedir的实现 暂时我将启动命令更改为

"start": "MOCK_HOME_DIR=./mock_home egg-scripts start --daemon",

我将MOCK_HOME_DIR环境变量设置为一个我有权限的目录下,可以暂时实现我的需求,不知道这种方式有没有隐患

atian25

atian25 commented on Aug 30, 2019

@atian25
Member

不是有个 stdout 和 stderr 的入参么?

https://github.com/eggjs/egg-scripts/blob/master/lib/cmd/start.js

4tj

4tj commented on Sep 9, 2019

@4tj

@atian25 就算改掉了stdout,但是run生成的json文件还是没权限写入的。尤其是在严格限制执行环境的比如gae上

atian25

atian25 commented on Sep 9, 2019

@atian25
Member

run 生成的文件?这个是在项目根目录下的,GAE 应该有配置 tmp 映射的地方吧,这文件不生成,很难分析线上问题的。

4tj

4tj commented on Sep 9, 2019

@4tj

run 生成的文件?这个是在项目根目录下的,GAE 应该有配置 tmp 映射的地方吧,这文件不生成,很难分析线上问题的。

eggjs可以指定run目录吗,相对于系统路径而不是项目路径的

atian25

atian25 commented on Sep 10, 2019

@atian25
Member

rundir: path.join(appInfo.baseDir, 'run'),

atian25

atian25 commented on Sep 11, 2019

@atian25
Member

如果想推动这个解决,很简单。谁来梳理下,现在到底是哪些文件,导致了失败,逐个讨论就完了。

从上面的讨论,我得到的信息是,有 stdout,stderr 入参,再加上 rundir 配置,应该就没问题了吧

fall-wind

fall-wind commented on Sep 11, 2019

@fall-wind
Author

如果想推动这个解决,很简单。谁来梳理下,现在到底是哪些文件,导致了失败,逐个讨论就完了。

从上面的讨论,我得到的信息是,有 stdout,stderr 入参,再加上 rundir 配置,应该就没问题了吧

首先egg-script没有参数可以指定输出目录(logs文件夹位置),你给我的建议是指定 stdout,stderr 入参。我看了下实现
image
就算我同时指定了stdout,stderr 入参 上图标红的地方 依旧会在home下创建logs 文件夹,但我的场景是我没有在home目录下创建文件夹的权限,所以导致启动不了。

我目前的解决方案:
在你们start.js 使用了node-homedir

image

我看了一下node-homedir的实现:

image

所以我在启动的时候指定了MOCK_HOME_DIR环境变量

"MOCK_HOME_DIR=./mock_home egg-scripts start --daemon"

暂时解决了home下没有权限的问题,但是我这么做相当于是依赖第三方的实现,如果你们后续改版 不使用node-homedir,那么我这种临时做法就会出问题。

所以回到这个issue本身 我的需求就是可以指定这个logDir

还有 @4tjrundir配置

atian25

atian25 commented on Sep 11, 2019

@atian25
Member

egg-script没有参数可以指定输出目录(logs文件夹位置)

got,明白了。

@fall-wind 可以提个 PR 直接支持下。

WangYang-Rex

WangYang-Rex commented on Dec 23, 2019

@WangYang-Rex

@fall-wind 请问现在解决了吗,要如何修改egg-script的指定输出目录(logs文件夹位置)

fall-wind

fall-wind commented on Dec 23, 2019

@fall-wind
Author

@fall-wind 请问现在解决了吗,要如何修改egg-script的指定输出目录(logs文件夹位置)

目前暂时在启动的命令添加一个环境变量
这是我的

"start": "MOCK_HOME_DIR=./mock_home egg-scripts start --daemon",

mock_home是你自己建的一个文件夹

WangYang-Rex

WangYang-Rex commented on Dec 26, 2019

@WangYang-Rex

@fall-wind 请问现在解决了吗,要如何修改egg-script的指定输出目录(logs文件夹位置)

目前暂时在启动的命令添加一个环境变量
这是我的

"start": "MOCK_HOME_DIR=./mock_home egg-scripts start --daemon",

mock_home是你自己建的一个文件夹

感谢,这个问题已经解决了

Henry-WHY

Henry-WHY commented on Apr 26, 2020

@Henry-WHY

@fall-wind 请问现在解决了吗,要如何修改egg-script的指定输出目录(logs文件夹位置)

目前暂时在启动的命令添加一个环境变量
这是我的

"start": "MOCK_HOME_DIR=./mock_home egg-scripts start --daemon",

mock_home是你自己建的一个文件夹

请问你这个写法是有哪里需要额外的配置吗?直接更改 package.json 中的 script,会出现报错

MOCK_HOME_DIR' 不是内部或外部命令,也不是可运行的程序或批处理文件。
shuidian

shuidian commented on Oct 22, 2021

@shuidian

这个issue不应该关闭吧,因为这个问题还是没有解决的。最好的方案还是应该在egg-scripts增加配置,而不是指定环境变量。 @atian25

shuidian

shuidian commented on Oct 22, 2021

@shuidian

@fall-wind 请问现在解决了吗,要如何修改egg-script的指定输出目录(logs文件夹位置)

目前暂时在启动的命令添加一个环境变量
这是我的

"start": "MOCK_HOME_DIR=./mock_home egg-scripts start --daemon",

mock_home是你自己建的一个文件夹

请问你这个写法是有哪里需要额外的配置吗?直接更改 package.json 中的 script,会出现报错

MOCK_HOME_DIR' 不是内部或外部命令,也不是可运行的程序或批处理文件。

这里windows和*nix命令不一样,他们应该是linux系统。针对这个有一个跨平台的指令,试试这样写:
"start": "cross-env MOCK_HOME_DIR=./mock_home egg-scripts start --daemon",

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @atian25@thonatos@4tj@WangYang-Rex@fall-wind

      Issue actions

        egg-scripts日志输出目录 · Issue #3912 · eggjs/egg