0
我正在使用Winston來記錄到控制檯和文件。如果我指定格式化程序並且記錄的消息與前一個相同,則文件日誌只寫入一次。在其他情況下(沒有指定格式化程序或寫入控制檯),日誌記錄按預期工作。使用Node.js的Winston模塊正確記錄文件
這裏的簡化代碼:
var winston = require('winston');
function formatter(args) {
return "some formatting: " + args.message;
}
var weirdLogger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
json: false,
formatter: formatter
}),
new (winston.transports.File)({
filename: "weirdLogger.csv",
json: false,
formatter: formatter
})
]
});
var workingLogger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
json: false
}),
new (winston.transports.File)({
filename: "workingLogger.csv",
json: false
})
]
});
var weirdLogTest = function() {
weirdLogger.info("test1");
workingLogger.info("test2");
};
var expectedBehaviorLogTest = function() {
weirdLogger.info("test1: " + new Date().getTime());
workingLogger.info("test2: " + new Date().getTime());
};
setInterval(weirdLogTest, 5000);
//setInterval(expectedBehaviorLogTest, 5000);
書面,該代碼顯示登錄到控制檯每隔五秒鐘workingLogger.csv
更新TEST1和TEST2,但weirdLogger.csv
不是。註釋setInterval(weirdLogTest, 5000);
並且在expectedBehavior測試中發表評論表明,當將日期附加到每個日誌時,日誌會按預期發生。
我一直無法找到關於忽略重複的消息或其他事情,可以解釋這一點的文檔中的任何東西。關於我在做什麼不正確的想法?這可能是一個錯誤,但我不想排除用戶錯誤。