Pat*_*ick 5 javascript logging node.js winston
我尝试将自定义日志级别添加到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,
}),
]
});
Run Code Online (Sandbox Code Playgroud)
我尝试添加自定义日志级别,但我仍然在日志文件中看到所有日志。
这是我的自定义日志级别的代码:
var levels = {
levels: {
info: 0,
debug: 1,
warning: 2,
error: 3
}
};
Run Code Online (Sandbox Code Playgroud)
然后我添加了这行传输代码:
levels: levels.levels
Run Code Online (Sandbox Code Playgroud)
这在我的交通工具中:
level: "error"
Run Code Online (Sandbox Code Playgroud)
但我也不断看到信息日志。任何人都可以帮我解决这个问题吗?谢谢
温斯顿中的日志记录级别基于优先级(从高到低)。日志的严重性按数字顺序从最重要到最不重要。
{
emerg: 0,
alert: 1,
crit: 2,
error: 3,
warning: 4,
notice: 5,
info: 6,
debug: 7
}
Run Code Online (Sandbox Code Playgroud)
在这里,当您记录错误级别 3 (logger.error) 时,crit、alert 和 emerg 下的日志也将包含在您的日志中。
同样,在您的自定义日志级别中,严重性level:error非常低,并且它会记录<= 3 的所有级别,包括日志、调试和警告。
如果您只想记录日志,level:error请修改自定义日志级别严重性,如下所示
var levels = {
levels: {
error: 0
info: 1,
debug: 2,
warning: 3
}
};
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看温斯顿日志记录级别