NodeJS / Forever存档日志

时间:2013-03-05 19:02:39

标签: node.js forever winston

我正在使用forever来运行我的节点应用程序。当我永远开始时,我指定在哪里写日志。我还指定附加到日志。这里的问题是我的日志将在几个月内失去控制。

是否有办法在一个时间间隔内存档/滚动日志,即每天将日志文件中的内容滚动/存档到另一个文件(即server-2013-3-5.log)。这样我就可以根据需要删除/移除旧的日志文件。

我刚刚开始考虑使用Winston作为我的记录器而且我没有遇到任何有用的东西。

有什么想法吗?

1 个答案:

答案 0 :(得分:35)

永远本身不支持日志轮换,对于Winston,日志轮换仍然是pending feature request

您可以使用大多数Linux发行版中包含的logrotate,用于旋转系统日志文件,以及其他软件(如Apache)使用。

将文件添加到/etc/logrotate.d/

/path/to/server.log {
  daily         # how often to rotate
  rotate 10     # max num of log files to keep
  missingok     # don't panic if the log file doesn't exist
  notifempty    # ignore empty files
  compress      # compress rotated log file with gzip
  sharedscripts # postrotate script (if any) will be run only once at the end, not once for each rotated log
  copytruncate  # needed for forever to work properly
  dateext       # adds date to filename 
  dateformat %Y-%m-%d.
}

请参阅more logrotate examples