如何在使用 pm2 运行服务器时轮换日志文件?

问题描述

我们使用节点模块 pm2 来运行服务器并捕获应用程序日志。

但由于流量非常大,大量数据被存储在单个文件中,大约超过 100Gb。

是否有可能在不重启服务器的情况下每 1 小时或每 1Gb 文件更改一次文件

目前我们正在手动执行此操作,重新启动服务器并重命名导致问题的现有文件

解决方法

您可以使用pm2-logrotate

pm2 install pm2-logrotate

# max log size is 1GB
pm2 set pm2-logrotate:max_size 1G

# compress logs when rotated (optional)
pm2 set pm2-logrotate:compress true

# force rotate every hours
pm2 set pm2-logrotate:rotateInterval '0 * * * *'