关于自定义logger在生产环境下无法写日志文件的问题
需要使用自定义日志,记录一些特定的数据
// config 1,自定义日志 config.customerLogger myLogger 2,log level级别为INFO config.logger level : 'INFO'
// controller 1,使用 ctx.getLogger('myLogger').info('my info')
// 问题 1,npm run dev 可以正常写到自定义日志文件中
2,npm start 不会写到自定义日志文件中
是我的配置或用法有什么问题吗? 请多指教!
start 是写到 home 目录了吧
start 是写到 home 目录了吧
谢谢回复!
1,自定义日志,文件目录仍然是系统目录 /app/logs,已检查写权限等没有问题 2,实际上,dev 方式运行时,是可以写日志的,只是 start 之后不写日志 3,看了脚本,dev / start 并没有什么差异
不知道还有没有其他问题?
start 是写到 home 目录了吧
谢谢回复!
1,自定义日志,文件目录仍然是系统目录 /app/logs,已检查写权限等没有问题 2,实际上,dev 方式运行时,是可以写日志的,只是 start 之后不写日志 3,看了脚本,dev / start 并没有什么差异
不知道还有没有其他问题?
建议你给出一个可以运行的demo或者把你default、local和prod的配置发一下
建议你给出一个可以运行的demo或者把你default、local和prod的配置发一下
多谢,相关文件内容如下:
- 配置文件 config.default.js config.logger = { level: 'INFO', // NONE,DEBUG,INFO,WARN 和 ERROR 5 个级别 };
// 用户自定义日志 config.customLogger = { dataLogger: { file: path.join(appInfo.root, 'logs/data.log'), }, };
-
controller 调用 this.ctx.getLogger('dataLogger').info("\n", uid, message, data, "\n\n");
-
package.json "scripts": { "start": "egg-scripts start --daemon", "stop": "egg-scripts stop", "dev": "egg-bin dev", }
- 执行 npm run dev,可以正常写data.log文件。 执行npm start,不写data.log
看 run/application_config.json 可以看到最终输出的日志地址。 在 start 的控制台日志上也有写的。 start 模式是写到 home 目录的,这个文档上有说明。