将 PM2 日志写入自定义路径
Write PM2 logs to custom path
我使用 PM2 来执行我的 Node.js 应用程序。
为此,我定义了以下 ecosystem
配置文件:
apps:
- script: app.js
name: "myApp"
exec_mode: cluster
cwd: "/etc/myService/myApp"
一切正常。现在我想为 PM2 的日志指定自定义位置,因此我添加到 ecosystem
配置文件中:
log: "/etc/myService/myApp/logs/myApp.log"
有效,但我注意到在执行pm2 start ecosystem
后,PM2会同时将日志写入两个位置:
/etc/myService/myApp/logs/myApp.log
(符合预期)
/home/%$user%/.pm2/logs/
(默认日志目标)
我的问题:
如何指定PM2日志的唯一存放位置,避免重复生成日志。
根据 robertklep 的评论,为了解决这个问题,我们必须使用 out_file
和 err_file
字段进行输出和错误日志路径。
YAML 格式的语法示例:
out_file: "/etc/myService/myApp/logs/myApp_L.log"
err_file: "/etc/myService/myApp/logs/myApp_E.log"
P.S。字段 log
可以从配置文件中删除:
log: "/etc/myService/myApp/logs/myApp.log"
我使用 PM2 来执行我的 Node.js 应用程序。
为此,我定义了以下 ecosystem
配置文件:
apps:
- script: app.js
name: "myApp"
exec_mode: cluster
cwd: "/etc/myService/myApp"
一切正常。现在我想为 PM2 的日志指定自定义位置,因此我添加到 ecosystem
配置文件中:
log: "/etc/myService/myApp/logs/myApp.log"
有效,但我注意到在执行pm2 start ecosystem
后,PM2会同时将日志写入两个位置:
/etc/myService/myApp/logs/myApp.log
(符合预期)/home/%$user%/.pm2/logs/
(默认日志目标)
我的问题:
如何指定PM2日志的唯一存放位置,避免重复生成日志。
根据 robertklep 的评论,为了解决这个问题,我们必须使用 out_file
和 err_file
字段进行输出和错误日志路径。
YAML 格式的语法示例:
out_file: "/etc/myService/myApp/logs/myApp_L.log"
err_file: "/etc/myService/myApp/logs/myApp_E.log"
P.S。字段 log
可以从配置文件中删除:
log: "/etc/myService/myApp/logs/myApp.log"