-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
egg-logger 在prod环境下没有输出 #489
Comments
https://eggjs.org/zh-cn/core/logger.html
prod 模式下日志是输出到 home 目录的。
在项目目录下看 `run/application_config.json` 的 config.logger 就知道路径了
发自我的 iPhone
… 在 2017年3月1日,23:54,zhangming0305 ***@***.***> 写道:
Node Version: v7.0.0
Egg Version: v1.0.0-rc.2
Plugin Name: Egg-logger
Plugin Version:
Platform: Mac os
egg-logger 不能在生产环境(production)下写入log文件。本地和测试环境之下可以写入文件。
如何得出的结论:
下载example custom-env 例子
npm i
加入 index.js
´´´
'use strict';
// npm run dev DO NOT read this file
const isLocal = process.env.NODE_ENV !== 'production' && !process.env.EGG_SERVER_ENV;
require('egg').startCluster({
baseDir: __dirname,
port: process.env.PORT || 7002, // default to 7001
workers: isLocal ? 1 : undefined, // default to cpu count
});
´´´
4. command line start:
´´´
EGG_SERVER_ENV=prod npm start
´´´
5. console 没有任何输出, logs文件夹底下没有文件更新
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
不管是local还是prod环境下,logger输出的dir都是不变的 |
/Users/zhangming0305/logs/custom-env 没日志?
发自我的 iPhone
… 在 2017年3月2日,00:52,zhangming0305 ***@***.***> 写道:
/Users/zhangming0305/logs/custom-env
|
@atian25 在prod环境下没有,在本地开发和测试有日志 |
@zhangming0305 你检查的是你项目根目录下吧 |
local 环境下的 dir 不会是 |
@atian25 @dead-horse 我在自己的工程和你们examples/custom-env下试过多次,不知道什么原因。我上传了custom-env: https://github.com/zhangming0305/custom-env.git 请帮忙下载运行看看为什么prod下没有任何log文件产生。 |
@zhangming0305 你先不要 env 这个, |
刚刚测试了一下
|
而且和mac系统应该没有关系,我线上ubuntu 16里也没有输出 |
这个目录下没日志? 测试的 logger 语句用 |
prod下什么也没有
|
其他人看看,我按你的操作步骤,本地无法复现,可以正常输出日志。 另外,@zhangming0305 再重新试一次看看,我刚更新了 simple 的模板,把 egg 的版本升级到 rc2 了。 |
这就见鬼了。。。我再试一次! |
我这里还是不行。难道是这个命令有问题?:
我直接 EGG_SERVER_ENV=prod npm start 启动server,甚至logs文件夹都没有自动生成,你说奇怪不奇怪 |
这指令等价于 |
这个肯定知道了,就是不明白就是我的有问题,你的机器就可以,我再换个机器试试 |
看看是不是没有权限创建. |
问题是 npm start 就一切正常了。 |
我换了个mac,升级egg-init, 还是不行,同样的症状。 |
|
@fengmk2 直接EGG_SERVER_ENV=prod npm start 连 |
我的问题就在prod,其他都能正常运行,EGG_SERVER_ENV=local 没问题 |
我按你的方式重现,也是有日志的 EGG_SERVER_ENV=prod npm start
> showcase@1.0.0 start /private/tmp/showcase
> node index.js
2017-03-03 17:44:37,351 INFO 90017 [master] =================== egg start =====================
2017-03-03 17:44:37,354 INFO 90017 [master] egg version 1.0.0-rc.2
2017-03-03 17:44:37,355 INFO 90017 [master] start with options: {"framework":"/private/tmp/showcase/node_modules/.1.0.0-rc.2@egg","baseDir":"/private/tmp/showcase","port":7001,"workers":4,"plugins":null,"https":false,"key":"","cert":"","customEgg":"/private/tmp/showcase/node_modules/.1.0.0-rc.2@egg"}
2017-03-03 17:44:37,355 INFO 90017 [master] start with env: isProduction: true, isDebug: false, EGG_SERVER_ENV: prod, NODE_ENV: undefined
2017-03-03 17:44:37,365 INFO 90017 [master] Agent Worker:90018 start with ["{\"framework\":\"/private/tmp/showcase/node_modules/.1.0.0-rc.2@egg\",\"baseDir\":\"/private/tmp/showcase\",\"port\":7001,\"workers\":4,\"plugins\":null,\"https\":false,\"key\":\"\",\"cert\":\"\",\"customEgg\":\"/private/tmp/showcase/node_modules/.1.0.0-rc.2@egg\",\"clusterPort\":50078}"]
2017-03-03 17:44:37,818 INFO 90018 [egg:logger] init all loggers with options: {"dir":"/Users/mk2/logs/showcase","encoding":"utf8","env":"prod","level":"INFO","consoleLevel":"INFO","outputJSON":false,"buffer":true,"appLogName":"showcase-web.log","coreLogName":"egg-web.log","agentLogName":"egg-agent.log","errorLogName":"common-error.log","coreLogger":{},"type":"agent"}
|
@zhangming0305 按照你的描述,local 环境的日志出现在了 你试试: rm -rf /Users/zhangming0305/logs
EGG_SERVER_ENV=local npm start
ls -l /Users/zhangming0305/logs/custom-env
cp run/application_config.json ./local.json
rm -rf /Users/zhangming0305/logs
EGG_SERVER_ENV=prod npm start
ls -l /Users/zhangming0305/logs/custom-env
cp run/application_config.json ./prod.json 如果还是没有出现日志的话,将 local 和 prod 两个环境下运行的配置文件都提交上来。 |
好的,我等下在试试,然后提交 |
还有一个可以尝试下,排查下是不是权限问题: // config/config.prod.js
const path = require('path');
module.exports = appInfo => {
return {
logger: {
dir: path.join(appInfo.baseDir, 'abc'),
},
};
}; |
@atian25 还真是,这样就可以了prod 也能生成logs及子目录当然还有log文件
|
怀疑是权限问题了, |
@popomore 创建日志目录失败后有控制台输出不 |
@zhangming0305 看你的描述我感觉你一直在看当前应用所在的目录,而不是 |
的确是我没看仔细。 |
............. |
你的问题找到原因了吗,我也有同样的问题,所以想请教一下你 |
检查一下你的egg-js项目的run/application_config.json文件,看看里面的logger.dir是不是配置成了你的用户主目录下的 logs/XXX 了。 如果是的话,你应该可以在那个目录里找到日志。然后你可以在 config.default.js 中通过设置
来解决。 |
不用加 resolve,相对路径即可 |
egg-logger 不能在生产环境(production)下写入log文件。本地和测试环境之下可以写入文件。
如何得出的结论:
4 加入code到home controller
The text was updated successfully, but these errors were encountered: