Javascript 如何使用winston logger在末尾附加日期和时间?
我有一个winston logger,它正在将事件记录到Javascript 如何使用winston logger在末尾附加日期和时间?,javascript,node.js,logging,winston,Javascript,Node.js,Logging,Winston,我有一个winston logger,它正在将事件记录到logs/server.log,当它旋转文件时,它会创建server20170321114031.log,因为是日期格式,但我想以这种格式旋转文件server.log.20170321114031,并且当前的日志文件名应该始终是server.log,可以吗用温斯顿来实现 温斯顿js logger = new (winston.Logger)({ level: null, transports:
logs/server.log
,当它旋转文件时,它会创建server20170321114031.log
,因为是日期格式,但我想以这种格式旋转文件server.log.20170321114031
,并且当前的日志文件名应该始终是server.log
,可以吗用温斯顿来实现
温斯顿js
logger = new (winston.Logger)({
level: null,
transports: [
// new (winston.transports.Console)(),
new (winston.transports.File)({
filename: './logs/server.log',
maxsize: 1024 * 1024 * 20,//15728640 is 15 MB
timestamp: false,
json: false,
rotationFormat: function() {
return getFormattedDate();
function getFormattedDate() {
var temp = new Date();
return dateStr = padStr(temp.getFullYear()) +
padStr(1 + temp.getMonth()) +
padStr(temp.getDate()) +
padStr(temp.getHours()) +
padStr(temp.getMinutes()) +
padStr(temp.getSeconds());
}
function padStr(i) {
return (i < 10) ? "0" + i : "" + i;
}
},
formatter: function (options) {
return options.message;
}
})
]
});
logger=new(winston.logger)({
级别:null,
运输:[
//新的(winston.transports.Console)(,
新建(winston.transports.File)({
文件名:'./logs/server.log',
maxsize:1024*1024*20,//15728640是15MB
时间戳:false,
json:false,
旋转格式:函数(){
返回getFormattedDate();
函数getFormattedDate(){
var temp=新日期();
return dateStr=padStr(temp.getFullYear())+
padStr(1+temp.getMonth())+
padStr(临时getDate())+
padStr(temp.getHours())+
padStr(temp.getMinutes())+
padStr(temp.getSeconds());
}
函数padStr(i){
返回值(i<10)?“0”+i:“+i;
}
},
格式化程序:函数(选项){
返回选项.message;
}
})
]
});
请参见
虽然我不能直接回答这个问题,但是您可以使用修改日志行的格式。您不能删除这行吗<代码>时间戳:false,我可以删除它,但它与我问的问题有什么关系?您从中得到了什么价值?我没有使用DailRotate文件,如果您看到我的问题,我的方法会有所不同,
logger.configure({
category1: {
dailyRotateFile: {
colorize: 'true',
filename: 'dailyRotateFile.log',
datePattern: '.yyyy-MM-dd',
maxsize: 20000
}
}
});