什么是日志记录级别?

时间:2019-01-10 11:52:27

标签: node.js logging winston

我知道传输是我想保留日志的地方,但是我不知道日志的级别是多少?我有以下代码来创建具有多种运输方式的记录器。

const logger = winston.createLogger({
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
    new winston.transports.File({ filename: 'logs/info.log', level: 'info' }),
  ],
})

当我想登录logger.log('error', err)时,它将同时登录info.logerror.log文件。为什么会这样呢?有人可以解释一下日志级别的想法吗?

1 个答案:

答案 0 :(得分:1)

基诺的评论是正确的;在几乎所有日志记录平台(winston,log4js等)中,日志级别表示要打印的错误的最大级别

将日志级别设置为ERROR意味着“仅打印FATAL和ERROR消息”。

将日志级别设置为INFO意味着“打印致命,错误,警告和INFO消息”。

无法(至少在Winston中是这样,但我认为总体上是正确的)指定携带INFO消息而的日志传输错误消息。这是设计使然。

设置日志级别时,实际上是在指定详细级别-FATAL是最不详细的日志记录,DEBUG是最详细的日志记录。要求提供更多详细信息,然后使致命错误从日志中消失是没有意义的。这就是为什么每个错误级别还包括来自其“以下”级别的所有消息的原因。