我正在开发一个非常古老的 Nodejs 应用程序,它使用forever-monitor
. 此子进程的日志forever-monitor
仅由处理。这是配置的样子:
var child = new (forever.Monitor)(__dirname + '/../lib/childprocess.js', {
max: 3,
silent: true,
options: [program.port],
'errFile': __dirname + '/../childprocess_error.log',
'outFile': __dirname + '/../childprocess_output.log'
}
);
在此设置中一切正常。新要求是每 12 小时轮换一次这些日志。也就是说,每 12 小时将创建一个新文件,该文件将包含该文件的所有内容,childprocess_output.log
并应存储在其他目录中。新的日志文件显然会在名称末尾附加时间戳(例如:childprocess_output_1239484034.log)。
并且应该重置原始文件childprocess_output.log
,即应该删除其所有内容,并且应该从新开始记录。
我试图了解我应该为此目的使用哪个 npm 库。我google了一下,找到了一些符合我要求的npm库,但是这些库的下载量真的很小,所以我怀疑这些库的可靠性。
NodeJs 开发人员使用哪个库来进行日志轮换?
Logrotate
另外,如果我在 Node.js 中找不到任何合适的库,我最后的手段是使用 Linux 工具。我正在避免使用 Logroate,因为我希望我的应用程序能够处理场景而不依赖于实例配置。