0

我正在寻找一种将日志从 NodeJS 写入文件的方法。我正在使用 fs.appendFile 选项。有没有办法通过保持文件大小不变来继续添加文件 - 例如,如果文件超过 5 MB 并且有新行进入,请删除最旧的行以适应新行 - 有点像滚动基础?

4

1 回答 1

0

如果您愿意使用库而不是附加文件来进行日志记录。您可以将winstonDaily rotate file Transport一起使用,您可以在其中将文件大小限制在5MB或天数或两者兼而有之。

我建议压缩日志并将它们保存几天/几周,并设置一个 cron 作业或删除旧文件的东西。如果你真的想删除所有日志,你可以在轮换时删除

transport.on('rotate', function(oldFilename, newFilename) {
    fs.unlinkSync('<log-file-name>')
  });

通常日志轮换由操作系统使用类似logrotate的东西来处理

于 2018-05-14T14:54:31.440 回答