【问题标题】:pm2 cluster mode not outputting logspm2集群模式不输出日志
【发布时间】:2020-01-24 10:40:19
【问题描述】:

节点: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',
           },
       },
    ],
};

【问题讨论】:

    标签: node.js pm2


    【解决方案1】:

    运行此命令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

    【讨论】:

      猜你喜欢
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2022-01-23
      • 2018-01-17
      • 2020-09-22
      • 2015-12-31
      • 1970-01-01
      相关资源
      最近更新 更多