【问题标题】:how can i rotate log files in pino.js logger如何在 pino.js 记录器中旋转日志文件
【发布时间】:2021-03-10 03:33:02
【问题描述】:

我正在尝试使用 pino 登录到我的节点应用服务器,并且确实有一些大日志即将到来,因此每天轮换文件对于之后阅读日志会更有用。

我可以使用 morgan 做到这一点,但使用 pino 我找不到方法。 我尝试根据当前日期动态分配文件夹,但在主 app.js 文件中这样做意味着它只会运行一次,循环日期意味着停止并重新运行服务器。

这是我的代码:

var date = d.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate();
const fileLogger = pino(
     pino.destination({
          dest: './log/userLog '+date, sync: false
     })
);

【问题讨论】:

    标签: javascript node.js logging pinojs


    【解决方案1】:

    pino documentation 中所述,您需要使用单独的工具进行日志轮换。

    使用logrotate,您可以轻松完成。

    node myapp.js > /var/log/myapp.log
    

    在您的服务器上安装 logrotate 并使用 logrotation 配置创建一个 /etc/logrotate.d/myapp 文件,例如:

    /var/log/myapp.log {
       su root
       daily
       rotate 7
       delaycompress
       compress
       notifempty
       missingok
       copytruncate
    }
    

    请务必阅读its configuration documentation 以实现您的正确旋转。显然,如果您对 logrotate 有任何问题,请探索many other questions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2021-06-04
      • 2017-05-24
      • 2014-01-26
      • 2015-05-23
      • 2020-01-03
      • 1970-01-01
      相关资源
      最近更新 更多