log4js+pm2 在cluster模式下,不发输出日志问题,求解答
发布于 1 年前 作者 datura-lj 3978 次浏览 来自 问答

如题描述,以下是配置文件,求大神解答困然已久问题: 1. bin下start.sh脚本 pm2 start /export/server/xxxx/process.json --env production 2. process.json文件 { “apps”: [{ “name”: “”, “script”: “/export/server/xxx/server.js”, “instance_var”: “INSTANCE_ID”, “exec_mode”: “cluster”, “instances”: “max”, “log_date_format”: “YYYY-MM-DD HH:mm Z”, “merge_logs”: true, “out_file” : “/export/log/xxx/ious_out.log”, “error_file” : “/export/log/xxx/ious_error.log”, “env”: { “NODE_ENV”: “development” }, “env_production”: { “NODE_ENV”: “production” } }], “deploy”: {

} }

3. log4js配置文件 log4js.configure({ appenders: { iwallet: { type: ‘dateFile’, filename: ‘/export/log/xxxx/’,
pattern: “node/yyyyMMdd.log”,
alwaysIncludePattern: true, }, }, categories: { default: { appenders: [‘iwallet’], level: ‘info’ } }, pm2: true, pm2InstanceVar: ‘INSTANCE_ID’ }); const logger = log4js.getLogger(‘iwallet’);

4. 服务器 linux服务

10 回复

使用pm2-intercom模块

@jizhuofeng 求教,已经安装了,还需要怎么使用一下呢

粘贴图片.png

安装了这个模块之前启动你的应用就可以了呀

哈哈,又有人踩到坑了,PM2cluster 下不要用 log4js,推荐使用 winston,搭配 winston-daily-rotate-file,完美解决日志打印

@jizhuofeng 我已经启动了,通过请教别人,可能是我PM版本过低导致的

@huqiyang 是的,这个坑,深坑。您现在用的是winston嘛

@huqiyang 你好 ,再请教下,winston 怎么按天分割日志呢

@jizhuofeng 这个模块不安装也能使用,还是配置配的不对导致的。 pm2的github issue有这个问题的解决方案。

回到顶部