默认pm2日志存在的问题
- 缺少日志时间戳;
- 缺少日志分片;
- 没有日志rotate 功能,定期清除防止磁盘爆满
PM2自带的日志
https://pm2.keymetrics.io/docs/usage/log-management/
PM2的日志扩展插件
pm2-logrotate
默认情况下,处理日志临近饱满磁盘的办法
删除文件
1 查看日志文件位置
2 删除日志
3 重启应用
重启应用会自动再生成日志文件!
pm2清洗日志命令
这将清空当前pm2应用程序日志!
1 2 3
| pm2 flush
pm2 flush <api> # Clear the logs for the app with name/id matching <api>
|
pm2-logrotate基本使用
安装
1 2 3 4 5 6 7 8
| pm2 install pm2-logrotate
# output
[PM2][Module] Installing NPM pm2-logrotate module [PM2][Module] Calling [NPM] to install pm2-logrotate ... + pm2-logrotate@2.7.0 added 213 packages from 236 contributors and audited 214 packages in 9.267s
|
查看rotate配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| pm2 conf
# output
Module: pm2-logrotate $ pm2 set pm2-logrotate:max_size 10M $ pm2 set pm2-logrotate:retain 30 $ pm2 set pm2-logrotate:compress false $ pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss $ pm2 set pm2-logrotate:workerInterval 30 $ pm2 set pm2-logrotate:rotateInterval 0 0 * * * $ pm2 set pm2-logrotate:rotateModule true Module: module-db-v2 $ pm2 set module-db-v2:pm2-logrotate [object Object]
|
查看日志分片
修改配置
1
| pm2 set pm2-logrotate:<conf key> <conf val>
|