解释温斯顿记录器中电平的使用

Explain use of levels in winston logger

本文关键字:记录器 解释      更新时间:2023-09-26

嘿,我正在使用这个温斯顿记录器,请解释在传输中使用电平,如果我在记录时使用带有信息的记录器会发生什么,在记录数据时我是否必须使用调试。

var logger = new (winston.Logger)({
transports: [
  new (winston.transports.Console)({
    level: 'debug',
    json: true
  }),
  new (winston.transports.File)({
    name: 'order_check',
    filename: './logs/order_check.log',
    level: 'debug'
  })
]
});
logger.log("info","request body");
传输

中的级别表示传输将"侦听"的最低日志记录级别

从文档中:https://github.com/winstonjs/winston#logging-levels

每个级别都有一个特定的整数优先级。优先级越高,消息越重要

{ error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }

因此,在您的示例中,您的传输配置为debug: 4

这意味着它将记录级别

  • 4(调试)
  • 3(详细)
  • 2 (信息)
  • 1(警告)
  • 0(错误)

一个很好的用例是将一个传输(例如Console)设置为调试,将另一个设置为信息。

这会将所有debug信息输出到控制台,但仅记录info到文件,从而防止日志文件混乱。

日志记录级别反映了日志记录消息的重要性例如,调试用于不重要的消息,仅用于调试

信息用于更重要的事情

如果将日志记录级别设置为"调试",则日志将显示"调试"和"信息消息"(及更高)

如果将日志记录级别设置为 INFO,则日志将仅显示信息消息(及更高) - 您不会看到调试消息 - 这有助于避免日志中的混乱,并防止在生产环境中的日志中显示太多信息