首页 > 解决方案 > 将 PM2 日志写入动态日志路径

问题描述

我正在使用 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 的环境变量

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.jspm2pm2-logrotate

解决方案


我们的开发经理在这方面帮助了我,因为我不是 node 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


推荐阅读