如何在Winston中为单个传输添加多个级别?

时间:2013-08-27 16:20:50

标签: node.js winston

如何告诉Winston将多个级别记录到单个传输中?例如,如果要将infoerror级别项目记录到控制台,您将如何实现此目标?指定info不记录所有信息级别且更重要的级别,它只记录info。将一组级别传递给level属性不会做任何事情。

winston.add(winston.transports.Console, {
    colorize: true,
    level: 'info'
});

winston.add(winstonMongo, {
    safe: false,
    db: 'logs',
    collection: 'api',
    level: 'info'
});

2 个答案:

答案 0 :(得分:6)

指定info级别确实包含更严重的所有级别(例如:warnerrordebug)。同样,指定warn包括warn级别以及更严重的error级别。

答案 1 :(得分:1)

对于后代,我已经包含了winston源代码中的代码片段,详细说明了默认的日志级别。如其他答案中所述,指定较低的日志级别将记录高于例如指定silly将记录所有其他级别,而指定debug将记录除silly以外的所有级别。

npmConfig.levels = {
  silly: 0,
  debug: 1,
  verbose: 2,
  info: 3,
  warn: 4,
  error: 5
};

根据winston readme,这是“npm”样式,但它链接的npm document具有不同的日志级别。