WinstonJS自定义级别

所以我想添加两个级别到我的logging器。 但它不logging,我不知道为什么..这是我的设置。 有任何想法吗?

// setup var logLevels = { levels: { trace: 0, debug: 1, info: 2, warn: 3, error: 4, critical: 5 } }; var logger = new (winston.Logger)({ levels: logLevels.levels, transports: [ new winston.transports.Console() ] }); // test console.info('----------------------'); logger.trace('trace'); logger.debug('debug'); logger.info('info'); logger.warn('warn'); logger.error('error'); logger.critical('critical'); console.info('----------------------'); 

输出:

 ---------------------- debug: debug trace: trace info: info ---------------------- 

温斯顿伐木水平

首先问题在这里,每个级别都给定一个特定的整数优先级。 默认情况下,它的

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

所以越less越重要。

其次,您必须为每个运输指定level 。 在你的情况下,你必须将级别设置为关键来显示所有消息。

Winston允许您在每个传输器上定义一个级别属性,该属性指定传输器应该logging的最大消息级别。

 var logger = new (winston.Logger)({ levels: logLevels.levels, transports: [ new winston.transports.Console({level: 'critical'}) ] });