【问题标题】:Winston add custom log levelsWinston 添加自定义日志级别
【发布时间】:2018-11-21 14:38:26
【问题描述】:

我尝试将自定义日志级别添加到 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"

但我也不断看到信息日志。 任何人都可以帮我解决这个问题吗?谢谢

【问题讨论】:

    标签: javascript node.js logging winston


    【解决方案1】:

    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 的严重性非常低,它会记录所有 级别

    如果您只想记录level:error,请修改您的自定义日志级别严重性,如下所示

    var levels = {
    levels: {
      error: 0
      info: 1,
      debug: 2,
      warning: 3
    }
    };
    

    欲了解更多信息,请查看winston logging levels

    【讨论】:

    • 非常感谢,这解决了我的问题。
    猜你喜欢
    • 2019-04-17
    • 2020-02-25
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多