pm2-logrotate 旋转标准错误但不旋转标准输出。这是 ~/.pm2/module_conf.json 的内容
{
"pm2-logrotate": {
"max_size": "10M",
"retain": "30",
"compress": false,
"dateFormat": "YYYY-MM-DD_HH-mm-ss",
"workerInterval": "30",
"rotateInterval": "0 0 * * *",
"rotateModule": true
},
"module-db-v2": {
"pm2-logrotate": {}
}
}
实际上,查看 pm2-logrotate-out.log,它确实轮换了日志,但会立即将其删除:
"/home/app/.pm2/logs/app-out__2019-05-09_11-20-05.log" has been created
"app-out__2019-05-09_11-20-05.log" has been deleted
注意:没有旋转的文件:
$ ls -lrt app-out__*
ls: cannot access 'app-out__*': No such file or directory
pm2版本是3.2.2
答案1
这是因为应用程序名称“app”很短,只有 3 个字符。
不知何故,当日志文件名太短时,pm2-logrotate 的旧日志删除脚本会出现异常行为。
只需从 pm2 中删除它,然后使用更长的应用程序名称重新启动它,然后就没问题了。(重命名应用程序可能不起作用,因为日志文件名仍然保持不变)