CNode

log4js+pm2 在cluster模式下,不发输出日志问题,求解答

问答
Ddatura-lj发布于8 年前最后回复8 年前10 回复8266 浏览0 收藏

如题描述,以下是配置文件,求大神解答困然已久问题: 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)

J
jizhuofeng#1·8 年前

使用pm2-intercom模块

D
datura-lj#2·8 年前
引用 jizhuofeng使用pm2 intercom模块

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

J
jizhuofeng#3·8 年前

粘贴图片.png

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

H
huqiyang#4·8 年前

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

D
datura-lj#5·8 年前
引用 jizhuofeng安装了这个模块之前启动你的应用就可以了呀

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

D
datura-lj#8·8 年前
引用 huqiyang@datura lj 对,改成winston winston文档

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

N
NextZeus#9·8 年前
引用 jizhuofeng使用pm2 intercom模块

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

N
NextZeus#10·8 年前
参与回复
登录后即可参与回复。登录