因为图片太多转移不方便。我发在开源中国了。链接如下: 链接在此
回复 (14)
K
是的,winston在pm2下也有类似问题,需要特殊配置
B
同样出现过日志丢失
G
引用 kzfile是的,winston在pm2下也有类似问题,需要特殊配置
@kzfile winston也会丢吗?
G
引用 brucecodezone同样出现过日志丢失
@brucecodezone 同是天涯沦落人
X
最近才碰到。。。单独启动应用,日志正常记录,但是pm2启动,日志就不打了。。。
G
引用 xwwscu最近才碰到。。。单独启动应用,日志正常记录,但是pm2启动,日志就不打了。。。
@xwwscu 看模式吧。fork模式不会出问题。cluster模式才会有。
D
踩过一波,我的解决方案是每个进程写不同文件
[CNodeMD]
D
pm2-intercom太老,另外通信的进程重启后日志就不打了
[CNodeMD]
J
支持^_^
G
引用 dbit-xia踩过一波,我的解决方案是每个进程写不同文件 [CNodeMD]
@dbit-xia 对,每个进程打到不同的文件也是一个方案。
G
引用 dbit-xiapm2 intercom太老,另外通信的进程重启后日志就不打了 [CNodeMD]
@dbit-xia 你指的通信的进程重启后日志就不打了是什么意思?求指教
D
引用 Gitforxuyang@dbit xia 你指的通信的进程重启后日志就不打了是什么意思?求指教
@Gitforxuyang 用pm2-intercom时,你试试restart那个NODE_APP_INSTANCE=0的进程,然后其它子进程console.log的日志就不会继续打印出来了 我之前试的结果是这样的,所以我就没用pm2-intercom 你可以再确认一下
我最终是这样用的:
let filename = global.config.type;
let filenameAppend = process.env.NODE_APP_INSTANCE;
if (filenameAppend) filename += '-' + filenameAppend;
log4js.configure({
....
pm2: false,
disableClustering: true //默认使用当前进程收集日志
});
G
引用 dbit-xia@Gitforxuyang 用pm2 intercom时,你试试restart那个NODE APP INSTANCE=0的进程,然后其它子进程console.log的日志就不会继续打印出来了 ...
@dbit-xia 你使用pm2-intercom时是不是pm2下管理的不止4个进程? restart重启后进程在pm2下的id会变。 如果你启动了多个进程,就会发生我在博客中提到的pm2-intercom只会向前4个进程发送消息的问题。
D
引用 Gitforxuyang@dbit xia 你使用pm2 intercom时是不是pm2下管理的不止4个进程? restart重启后进程在pm2下的id会变。 如果你启动了多个进程,就会发生我在博客中提到的pm2 i...
@Gitforxuyang restart/reload后,id不会变的, 我是用cluster模式起两个进程测试的,pm2里加上pm2-intercom总共3个进程, 感觉水有点深,还是不要过多依赖,各自独立写文件会比较简单,写文件的性能应该不会低于TCP性能
[CNodeMD]
参与回复
登录后即可参与回复。登录