如何在使用Winston处理node.js日志记录时轮换日志。也就是说,我如何为应用程序运行的每一天创建一个新文件?
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)(),
new (winston.transports.File)({ filename: '2012-07-09.log' })
]
});
logger.log('info', 'Test Log Message', { anything: 'This is metadata' });发布于 2012-07-10 16:04:57
这里是winston的作者和维护者。
目前,每天登录到一个新文件是一个开放的特性请求:https://github.com/flatiron/winston/issues/10。我很乐意看到有人实施它。
也就是说,还有其他选择:
发布于 2014-03-08 13:02:25
这个特性已经存在,我们正在生产环境中使用它,winston.transports.DailyRotateFile:
var timeFormatFn = function() {
'use strict';
return moment().format(cfg.timeFormat);
};
var logger = new(winston.Logger)({
exitOnError: false,
transports: [
new(winston.transports.DailyRotateFile)({
filename: cfg.appLogName,
dirname: __dirname + '/../' + cfg.logsDirectory,
datePattern: cfg.rollingDatePattern,
timestamp: timeFormatFn
}),
new(winston.transports.Console)({
colorize: true,
timestamp: timeFormatFn
})
]
});发布于 2018-01-29 19:11:59
您可以使用以下代码每天轮换日志文件:
var winston = require('winston');
require('winston-daily-rotate-file');
var transport = new (winston.transports.DailyRotateFile)({
filename: './log',
datePattern: 'yyyy-MM-dd.',
prepend: true,
level: 'info'
});
var logger = new (winston.createLogger)({
transports: [
transport
]
});
logger.info('Hello World!');https://stackoverflow.com/questions/11403953
复制相似问题