如何在每次启动程序时将日志覆盖到新文件中?这样,文件名的结尾就是文件创建的日期和时间。
var fs = require('fs');
var ws = fs.createWriteStream('test.log', {
'flags' : 'w',
'encoding': 'utf8',
'mode' : 0666,
});
process.stdout.wr = process.stdout.write;
process.stdout.er = process.stderr.write;
process.stdout.write = function(mes, c) {
ws.write(mes + '\r\n');
process.stdout.wr(mes, c)
};
process.stderr.write = function(mes, c) {
ws.write(mes + '\r\n');
process.stdout.er(mes, c)
};
答案 0 :(得分:3)
您可以使用以下代码来做到这一点:
const data = new Date();
const timestamp = date.getTime();
var ws = fs.createWriteStream(`test-${timestamp}.log`, {
'flags' : 'w',
'encoding': 'utf8',
'mode' : 0666,
});
日志文件名类似于test-1553591263787.log
,test-1553591318028.log
...
如果要使用自定义日期/时间格式,请选中this SO question about formatting。