最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

使用文件名中的日期时间创建日志文件

IT培训 admin 6浏览 0评论

使用文件名中的日期/时间创建日志文件

如何在每次启动程序时,将日志覆盖到新文件中?因此,文件名的末尾是文件创建的日期和时间。

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)   
};
回答如下:

你可以使用这样的代码来做到这一点:

const data = new Date();
const timestamp = date.getTime();

var ws = fs.createWriteStream(`test-${timestamp}.log`, { 
    'flags'   : 'w',
    'encoding': 'utf8',
    'mode'    : 0666,
});

日志文件名将类似于test-1553591263787.logtest-1553591318028.log ......

如果您想要自定义日期/时间格式,请检查this SO question about formatting。

使用文件名中的日期/时间创建日志文件

如何在每次启动程序时,将日志覆盖到新文件中?因此,文件名的末尾是文件创建的日期和时间。

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)   
};
回答如下:

你可以使用这样的代码来做到这一点:

const data = new Date();
const timestamp = date.getTime();

var ws = fs.createWriteStream(`test-${timestamp}.log`, { 
    'flags'   : 'w',
    'encoding': 'utf8',
    'mode'    : 0666,
});

日志文件名将类似于test-1553591263787.logtest-1553591318028.log ......

如果您想要自定义日期/时间格式,请检查this SO question about formatting。

发布评论

评论列表 (0)

  1. 暂无评论