【问题标题】:Pm2 logs with huge size using pm2-logrotate使用 pm2-logrotate 的大尺寸 pm2 日志
【发布时间】:2018-06-12 00:14:22
【问题描述】:

我在使用 pm2 时遇到问题。

我正在使用一个名为 pm2-logrotate 的模块,但日志有一个像 1.7G 这样的巨大 gize 并且不尊重我的配置

== pm2-logrotate ==
┌────────────────┬───────────────┐
│ key            │ value         │
├────────────────┼───────────────┤
│ compress       │ true          │
│ rotateInterval │ * * */1 * * * │
│ max_size       │ 10M           │
│ retain         │ 1             │
│ rotateModule   │ true          │
│ workerInterval │ 30            │
└────────────────┴───────────────┘

那么我可以对 pm2 做些什么才能删除旧的日志并且不要开始用大量数据压垮我的机器呢?

【问题讨论】:

    标签: node.js logging pm2 pm2-logrotate


    【解决方案1】:

    我也有这个问题。我认为目前pm2-logrotate 中存在一个错误,其中workerInterval 选项被忽略,并且它仅根据rotateInterval 选项旋转(即默认情况下每天一次)。这意味着文件可以比您使用max_size 选项指定的大小大得多。查看选项here

    我通过将rotateInterval 选项设置为每 30 分钟一次而不是默认的每天一次来“解决”它。这是命令:

    pm2 set pm2-logrotate:rotateInterval '*/30 * * * *'
    

    这样做的问题在于,这意味着您的日志将每 30 分钟轮换一次,无论它们的大小如何。另一个临时解决方案是使用 crontab 运行 pm2 flush(删除所有日志)。首先在你的终端中运行crontab -e,然后将这一行添加到文件中:

    */30 * * * * pm2 flush
    

    如果您有一个产生大量日志的特定应用程序,您也可以使用pm2 flush your_app_name 刷新特定应用程序。如果你不擅长记住 cron 计时语法的工作原理(像我一样),你可以使用 this site

    【讨论】:

      猜你喜欢
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 2017-07-08
      • 2023-01-19
      • 2021-01-22
      • 1970-01-01
      相关资源
      最近更新 更多