Node.js NodeJS/Forever归档日志
我正在使用运行我的节点应用程序。当我开始永久时,我指定在哪里写入日志。我还指定要附加到日志中。这里的问题是,我的日志将在几个月内失控 是否有任何方法可以每隔一段时间归档/滚动日志,即每天将日志文件中的内容滚动/归档到另一个文件(即server-2013-3-5.log)。这样,我可以根据需要删除/移出旧日志文件 我刚刚开始考虑使用Winston作为我的记录器,但我没有发现任何有用的东西Node.js NodeJS/Forever归档日志,node.js,forever,winston,Node.js,Forever,Winston,我正在使用运行我的节点应用程序。当我开始永久时,我指定在哪里写入日志。我还指定要附加到日志中。这里的问题是,我的日志将在几个月内失控 是否有任何方法可以每隔一段时间归档/滚动日志,即每天将日志文件中的内容滚动/归档到另一个文件(即server-2013-3-5.log)。这样,我可以根据需要删除/移出旧日志文件 我刚刚开始考虑使用Winston作为我的记录器,但我没有发现任何有用的东西 有什么想法吗?forever本身不支持原木轮换,而原木轮换对温斯顿来说仍然是一个难题 您可以使用logrota
有什么想法吗?forever本身不支持原木轮换,而原木轮换对温斯顿来说仍然是一个难题 您可以使用
logrotate
,它包含在大多数Linux发行版中,用于旋转系统日志文件,也可由其他软件(如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.
}
请参阅。Winston现在可以进行日志旋转:
SharedScript
:“SharedScript意味着postrotate脚本只运行一次(在旧日志压缩后),而不是针对每个旋转的日志运行一次。”@JCM如何配置Winston中的永久使用此新功能?我是否必须将forever从命令行使用切换到编程使用?@sheldonh idk,您可能应该在forever项目中提出一个问题。使用此配置,my forever.log仍在无限期增长,logrotate只复制文件,而不接触不断增长的原始日志文件。。。,所以这个解决方案并不能完全解决这个问题。特别是“我的日志将失控”这一部分,你最终是如何解决的?