阅读和摆弄温斯顿,我很困惑为什么日志记录级别按原样排序,以及为什么传输以它们的方式运行(好吧,至少是控制台)。如果有人能够(甚至可能彻底)用真实的用例示例解释为什么使用 Winston 进行日志记录会以这种方式工作,我将不胜感激。
例如,我像这样设置我的记录器:
var logger = new (winston.Logger)({
levels: winston.config.syslog.levels,
colors: winston.config.syslog.colors,
level: "debug", // I'm not sure what this option even does here???
transports: [
new (winston.transports.Console)({
colorize: true,
handleExceptions: true,
json: false,
level: "debug"
})
]
});
所以,如果我这样做logger.debug("Test");
,然后它会记录debug: Test
, 美好的。但如果我这样做logger.info("Test");
,然后什么也不会发生。
我遇到的问题是,如果我想登录到控制台一切 but debug
消息,我该怎么办? ... 甚至debug
and info
消息,但记录其他所有内容?
来自 Java 世界,使用标准记录器,我习惯于debug
比warn
伐木工则倒着工作;将日志记录级别设置为info
,例如,确实记录了除debug
(或者其他的东西)。
另外,如果我想要一个记录器只记录怎么办error
, warning
and info
消息,我该如何与温斯顿做呢?
* EDIT *
显然,这种级别顺序是独一无二的winston.config.syslog.levels
。因此,剩下的唯一问题是:“是否有可能以某种方式将传输限制为非常特定的日志记录级别?”