Ism*_*ail 5 javascript logging pm2
我试图从日志文件名中删除服务标识符。
例子:
我的ecosystem.config.js看起来像这样:
module.exports = {
apps : [
{
name: "My Service",
script: "./app.js",
watch: true,
max_memory_restart: "150M",
error: "/var/log/pm2/my-service.log",
out: "/var/log/pm2/my-service.log",
max_restarts: 10
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后,我期望一个名为: 的日志文件/var/log/pm2/my-service.log。
但这就是它生成的:/var/log/pm2/my-service-4.log。
我使用的是pm2版本3.5.0,我刚刚从版本升级2.10.4
节点版本:v8.16.0
更新1:
我还尝试使用不同的参数merge_logs,例如,这是该版本的示例:
module.exports = {
apps : [
{
name: "My Service",
script: "./app.js",
watch: true,
max_memory_restart: "150M",
error: "/var/log/pm2/my-service.log",
out: "/var/log/pm2/my-service.log",
max_restarts: 10,
merge_logs: true
}
]
}
Run Code Online (Sandbox Code Playgroud)
更新2:
看起来 pm2 它完全忽略了我在error和output选项中设置的内容。我尝试将这些选项更改为error_file,out_file然后重新加载日志,pm2 reloadLogs但没有成功。
我已经找到了这个问题的解决方案。
看起来 pm2 正在缓存生态系统文件,一旦启动它,它就会完全忽略文件上的更改。
要使 pm2 重新加载所有配置,您必须删除所有服务并重新启动它们。
这就是我所做的:
pm2 delete all
pm2 startOrRestart ecosystem.config.js
Run Code Online (Sandbox Code Playgroud)
执行此操作后,它重新加载配置并开始写入正确的文件。
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |