maxFiles
因为我们想要根据时间保存文件。
我关于winston的第二个问题是,当我们将文件当前调整为附加的server1.log一旦达到文件大小,是否可以附加日期,例如server-03-10-2017.log
?
ctrl.js
var logger = new(winston.Logger)({
level: null,
transports: [
// new(winston.transports.Console)({formatter}),
new(winston.transports.File)({
filename: './logs/dit/server.log',
maxsize: 1024 * 1024 * 20, // 15MB
timestamp: true,
maxFiles: 10,
json: false,
formatter: function (options) {
return options.message;
}
})
]
});
答案 0 :(得分:0)
对于动态命名,您可以查看rotationFormat,但需要旋转文件...
winston.add(winston.transports.File, {
filename: './logs/dit/server.log',
maxsize: 1024 * 1024 * 20, // 15MB
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;
}
}
});
输出文件应该类似于./logs/dit/server2010310173556.log
padStr需要填充&#34; 0&#34;如果它是一个数字。
Github拉取请求article
编辑:您应该设置maxsize
并指定返回格式化日期的rotationFormat
函数(需要相应地修改lib / winston / transports / file.js文章)。它将附加在文件名的末尾。我不确定是否需要maxFiles