node 使用 pm2-logrotate 分割pm2日志 && 停止 pm2-logroatate
使用pm2-logrotate 解决pm2日志体积过大,进行分割
什么是pm2-logrotate?
pm2-logrotate 是一个pm2的插件,可以对pm2日志进行管理,所以它的运行需要依靠pm2
安装:
注:该命令是 pm2 install
不是 npm install
pm2 install pm2-logrotate
查看配置指令
pm2 conf pm2-logrotate
配置项
// 每个文件最大存储 注:10G 10M 10K
$ pm2 set pm2-logrotate:max_size 50k
// retain:保留的日志文件个数,比如设置为30,那么在日志文件达到30个后就会将最早的日志文件删除
$ pm2 set pm2-logrotate:retain 30
// 是否通过gzip压缩日志
$ pm2 set pm2-logrotate:compress false
// dateFormat 日志文件名的日期格式。如设置的日志名为out.log,就会生成out-YYYY-MM-DD_HH-mm-ss.log 的日志文件
$ pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss
// 检查日志大小的时间间隔,最小为1
$ pm2 set pm2-logrotate:workerInterval 30
// 设置强制分割,默认值是0 0 * * *,意思是每天晚上0点分割
$ pm2 set pm2-logrotate:rotateInterval 0 0 * * *
// rotateModule 是否把pm2本身的日志也进行分割
$ pm2 set pm2-logrotate:rotateModule true
设置
设置的话就是重写了配置项
1. 比如设置每个文件的最大存储为1M
pm2 set pm2-logrotate:max_size 1M
2. 比如设置保留文件个数为 10 个
pm2 set pm2-logrotate:retain 10
3. 如果有设置分割时间的话,是用的双引号
pm2 set pm2-logrotate:rotateInterval "30 * * * * *"
停止pm2-logrotate
以前旧版本的pm2-logrotate想要停止,就只能卸载了
现在新版本的可以使用 pm2 stop 进程id
使用pm2 list
查看到pm2-logrotate 进程id为0 ,执行pm2 stop 0
即可停止服务
本文来自博客园,作者:时光凉忆,转载请注明原文链接:https://www.cnblogs.com/naturl/p/16628563.html