【问题标题】:Write PM2 logs to dynamic log path将 PM2 日志写入动态日志路径
【发布时间】:2021-05-07 07:07:18
【问题描述】:

我正在使用 PM2 来管理我的节点 js 应用程序。 在这里,我想配置 pm2 正在运行的服务器/节点独有的自定义日志路径

module.exports = {
    apps : [{
            name: 'nodeapp-dev',
            script: 'src/index.js',

            instances: 1,
            exec_mode: 'fork',
            autorestart: true,
            watch: false,
            max_memory_restart: '512M',
            error_file: '/home/user/.pm2/logs/$HOSTNAME/nodeapp-dev-error.log',
            out_file: '/home/user/.pm2/logs/$HOSTNAME/nodeapp-dev-out.log',
            env: {
                    NODE_ENV: 'dev'
            }
        }]
}

我想将日志文件写入由服务器主机名创建的文件夹,这也应该在其他服务器上工作。你能帮我实现这个目标吗,因为 $HOSTNAME 对我不起作用。它刚刚创建了文件夹“$HOSTNAME”。但是在 linux 系统中有 $HOSTNAME 的 env 变量

PM2 显示输出

| error log path    │ /home/user/.pm2/logs/$HOSTNAME/nodeapp-dev-error.log │
│ out log path      │ /home/user/.pm2/logs/$HOSTNAME/nodeapp-dev-out.log   

【问题讨论】:

    标签: node.js pm2 pm2-logrotate


    【解决方案1】:

    我们的开发经理在这方面帮助了我,因为我不是节点 js 专家。

    error_file: `/home/user/.pm2/logs/${process.env['HOSTNAME']}/bluster-error.log`,
    out_file: `/home/user/.pm2/logs/${process.env['HOSTNAME']}/bluster-out.log`,
    

    我们需要使用模板字面量 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

    【讨论】:

    • 嗯,对我来说,这只是创建了一个未定义的文件。在您的示例中,它看起来像这样:/home/user/.pm2/logs/undefined/bluster-error.log 您在哪里设置了 HOSTNAME 变量有什么帮助吗?
    猜你喜欢
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    相关资源
    最近更新 更多