gpt4 book ai didi

javascript - 使用 Node.js 的 Winston 模块正确记录到文件

转载 作者:行者123 更新时间:2023-12-03 09:48:24 33 4
gpt4 key购买 nike

我正在使用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);

正如所写,此代码显示 test1 和 test2 每五秒记录到控制台一次,并且 workingLogger.csv 正在更新,但 weirdLogger.csv 没有更新。注释掉 setInterval(weirdLogTest, 5000); 并在预期行为测试中进行注释表明,当日期附加到每个日志时,日志记录会按预期发生。

我在文档中找不到任何有关忽略重复消息或其他可以解释此问题的内容。关于我做错了什么有什么想法吗?这可能是一个错误,但我不想排除用户错误。

最佳答案

这已被确认为 bug这不是由格式化程序引起的,而是因为我的格式化日志输出太短了。有一个修复将被合并。

关于javascript - 使用 Node.js 的 Winston 模块正确记录到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30948656/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com