Node :12.13.0
pm2: 4.2.3
问题是 pm2-out 和 pm2-err 日志文件中没有打印任何内容,而不是 pm2 打印正在执行的脚本的几行。我尝试了 Winston 和 Debug 记录器。当我以 fork 模式启动时,所有日志都会被打印出来。此外,pm2 logs
显示日志但文件为空。
我使用 merge_logs
来避免将日志拆分或错误地放入每个进程的多个文件中。
我也尝试过指定日志名称,但没有成功。如果有人可以帮助我,在此先感谢您。
附言我不想使用 Winston 输出来归档。此外,使用 pm2 monit
我没有看到任何东西。
ecosystem.config.js:
module.exports = {
apps: [
{
name: 'client',
script: 'npm',
args: 'run start:client',
cwd: '/mnt/data/app',
watch: false,
log_date_format: 'DD-MM-YYYY HH:mm',
exec_mode: 'cluster',
instances: '2',
merge_logs: true,
env: {
PORT: 8080,
NODE_ENV: 'production',
},
},
{
name: 'server',
script: 'npm',
args: 'run start:server',
cwd: '/mnt/data/app',
watch: false,
log_date_format: 'DD-MM-YYYY HH:mm',
exec_mode: 'cluster',
instances: '2',
merge_logs: true,
env: {
PORT: 3000,
NODE_ENV: 'production',
},
},
],
};
最佳答案
运行此命令 pm2 install pm2-intercom
可能在没有此 &
的情况下工作
然后在 log4js 配置中添加 pm2: true
,如下所示:
log4js.configure({
appenders: {
out: {
type: 'stdout'
}
},
categories: {
default: {
appenders: ['out'],
level: 'info'
}
},
pm2: true
});
更多详细信息,请参阅 https://github.com/log4js-node/log4js-node/blob/master/docs/clustering.md
关于node.js - pm2集群模式不输出日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59894803/