我正在使用forever来运行我的节点应用程序。当我永远开始时,我指定在哪里写日志。我还指定附加到日志。这里的问题是我的日志将在几个月内失去控制。
是否有办法在一个时间间隔内存档/滚动日志,即每天将日志文件中的内容滚动/存档到另一个文件(即server-2013-3-5.log)。这样我就可以根据需要删除/移除旧的日志文件。
我刚刚开始考虑使用Winston作为我的记录器而且我没有遇到任何有用的东西。
有什么想法吗?
答案 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.
}