我正在寻找一种将日志从 NodeJS 写入文件的方法。我正在使用 fs.appendFile 选项。有没有办法通过保持文件大小不变来继续添加文件 - 例如,如果文件超过 5 MB 并且有新行进入,请删除最旧的行以适应新行 - 有点像滚动基础?
问问题
170 次
1 回答
0
如果您愿意使用库而不是附加文件来进行日志记录。您可以将winston与Daily rotate file Transport一起使用,您可以在其中将文件大小限制在5MB
或天数或两者兼而有之。
我建议压缩日志并将它们保存几天/几周,并设置一个 cron 作业或删除旧文件的东西。如果你真的想删除所有日志,你可以在轮换时删除
transport.on('rotate', function(oldFilename, newFilename) {
fs.unlinkSync('<log-file-name>')
});
通常日志轮换由操作系统使用类似logrotate的东西来处理
于 2018-05-14T14:54:31.440 回答