gpt4 book ai didi

node.js - winston 日志级别/隐藏日志级别

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:15 26 4
gpt4 key购买 nike

据我了解,Winston 的日志记录级别具有层次结构。您可以使用 winston.level = 'error' 设置级别,并且以下所有级别不应显示。不幸的是,我仍然得到控制台中显示的信息和调试日志。

问题 1):

如何真正设置 winston 只显示日志级别

问题 2)

为什么调试仍然显示在控制台中,我将其配置为显示在日志文件中(它还做了什么)

winston = require('winston')
winston.emitErrs = true
logger = new winston.Logger({
transports: [
new winston.transports.File({
level: 'info'
filename: 'logs/log.log'
handleExceptions: true
json: true
maxsize: 5242880 #5MB
maxFiles: 5
colorize: false
timestamp: true
}),
new winston.transports.Console({
level: 'debug'
handleExceptions: true
json: false
colorize: true
})
],
exitOnError: false
})
winston.level = 'error'

module.exports = logger
module.exports.stream = {
write: (message, encoding) ->
logger.info(message)
}

代码基本上来自这个图: http://tostring.it/2014/06/23/advanced-logging-with-nodejs/

最佳答案

现在我明白了。它将所有内容记录到定义的传输中的日志级别。所以我想不可能将调试流传输到控制台并将信息传输到日志而不操纵顺序。

这不会在控制台中记录调试:

new winston.transports.Console({
level: 'info'
handleExceptions: true
json: false
colorize: true
})

我的第一个假设是我可以为每个日志级别指定传输,然后决定我想要使用多少日志记录:winston.setLevels(winston.config.syslog.levels)

例如mongoDb 错误信息到 log.log 文件调试到控制台

关于node.js - winston 日志级别/隐藏日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29681035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com