嘿,我正在使用这个winston记录器, 亲切地解释在传输中使用级别,如果我在记录时使用带有信息的记录器会发生什么,我是否必须在记录数据时使用调试。
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
level: 'debug',
json: true
}),
new (winston.transports.File)({
name: 'order_check',
filename: './logs/order_check.log',
level: 'debug'
})
]
});
logger.log("info","request body");
答案 0 :(得分:5)
传输中的级别表示传输将“侦听”的最小日志记录级别
从文档中: https://github.com/winstonjs/winston#logging-levels
每个级别都有一个特定的整数优先级。优先级越高,消息被认为越重要
{ error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }
因此,在您的示例中,您的传输已配置为debug: 4
这意味着,它将记录级别
一个很好的用例是将一个传输(例如Console)设置为调试,将另一个传输设置为info。
这会将所有debug
信息输出到控制台,但只会将info
记录到文件中,从而防止日志文件混乱。
答案 1 :(得分:1)
日志记录级别反映了日志消息的重要性 例如,debug用于非重要消息,仅用于调试
信息用于更重要的事情
如果您将日志记录级别设置为debug,则日志将显示调试和信息消息(以及更高版本)
如果您将日志记录级别设置为info,则日志将仅显示信息消息(以及更高级别) - 您将看不到调试消息 - 这有助于避免日志中的混乱并防止在日志中显示太多信息生产环境