解释winston logger中级别的使用

Vik*_*tia 1 javascript logging node.js npm winston

嘿,我正在使用这个winston记录器,请解释在传输中使用级别,如果我在记录时使用带有信息的记录器将会发生什么,我必须在我记录数据时使用调试.

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");
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 5

您的运输中的级别表示运输将"收听" 的最低日志记录级别

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

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

{ error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }
Run Code Online (Sandbox Code Playgroud)

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

这意味着,它将记录级别

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

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

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