所以我想为我的记录器添加两个级别。但它没有记录,我不知道为什么......这是我的设置。有任何想法吗?
// 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('----------------------');
Run Code Online (Sandbox Code Playgroud)
输出:
----------------------
debug: debug
trace: trace
info: info
----------------------
Run Code Online (Sandbox Code Playgroud)
这里的第一个问题,每个级别都有一个特定的整数优先级。默认情况下,其
{ error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }
Run Code Online (Sandbox Code Playgroud)
所以更少更重要。
其次,您必须level为每个传输指定。在您的情况下,您必须将级别设置为关键以显示所有消息。
winston 允许您在每个传输上定义级别属性,该属性指定传输应记录的最大消息级别。
var logger = new (winston.Logger)({
levels: logLevels.levels,
transports: [
new winston.transports.Console({level: 'critical'})
]
});
Run Code Online (Sandbox Code Playgroud)