我尝试为winston添加自定义日志级别。 这是记录器的代码:
const write = new (winston.Logger)({
transports: [
new (winston.transports.DailyRotateFile)({
filename: `${logDir}/%DATE%-log`,
timestamp: tsFormat,
datePattern: 'D-M-YYYY',
prepend: true,
zippedArchive:true,
}),
]
});
我尝试添加自定义日志级别,但我继续在日志文件中看到所有日志。
这是我自定义日志级别的代码:
var levels = {
levels: {
info: 0,
debug: 1,
warning: 2,
error: 3
}
};
然后我添加了这行代码用于传输:
levels: levels.levels
这在我的交通工具中:
level: "error"
但我也一直看到信息的日志。 有人可以帮我解决这个问题吗?感谢
答案 0 :(得分:2)
winston中的记录级别基于优先级(从高到低)。日志的严重程度从最重要的数字上升到最低限度。
{
emerg: 0,
alert: 1,
crit: 2,
error: 3,
warning: 4,
notice: 5,
info: 6,
debug: 7
}
这里当您为错误级别3(logger.error)进行日志记录时,crit,alert和emerg下的日志也将包含在您的日志中。
同样在您的自定义日志级别中,level:error
的严重性非常低,并且会记录所有级别< = 3,包括日志,调试和警告。
如果您只想记录level:error
,请修改自定义日志级别严重性,如下所示
var levels = {
levels: {
error: 0
info: 1,
debug: 2,
warning: 3
}
};
有关详情,请查看winston logging levels