gpt4 book ai didi

node.js - 是否可以一起使用 winston 日志记录和调试模块?

转载 作者:搜寻专家 更新时间:2023-10-31 22:49:17 29 4
gpt4 key购买 nike

我使用 winston日志记录,因为我使用它的功能,如不同的日志记录级别、多种传输等。

但我也喜欢debug's命名空间功能。此外, express 已经使用它。那么是否可以一起使用它们,例如让 winston logging 有命名空间?

最佳答案

在使用了几个不同的记录器之后,我对 nodejs 记录器有了更多的了解,现在我相信它们不应该一起使用,因为它们是为不同的目的而设计的。另一方面,morgan 和 winston 可以一起使用,例如Node.js - logging / Use morgan and winston , morgan 和 debug 也可以一起使用,Nodejs - How to use morgan with debug

但首先,引用自Logging in Node.js done right

Setting up proper logging in Node.js applications can be bitoverwhelming at first due to the plethora of modules available throughNPM.

当我让 morgan、winston 一起调试时,这确实是我的情况。但后来我意识到它们是为了不同的目的而重叠的。所以当我真正调试问题时我使用 debugjs 而不是使用 console.log(有人说 debugjs 不是记录器)。完成后,我关闭调试。

Morgan 是专门记录 express HTTP 请求的。最好在 dev/prod env 中出于不同目的使用它。

在 dev/prod env 中为 Winston 使用不同的日志级别可能是一种常见的做法。我也可以使用 express-winston记录 HTTP 请求而不是使用 morgan。

Winston 使用不同的日志级别来关闭一些日志,不像 debugjs 使用命名空间来关闭日志,所以我认为它们不能一起工作。

--- 2021 年更新 ---

自从我在 2018 年第一次回答自己的问题以来,我被问了好几次关于日志级别相关的问题。我找到了一个 issue opened against debugjs 证实了我所说的调试,引用其当前维护者的答案

Debug isn't a general purpose logging library, it's meant toconditionally turn on debug logs. There is no concept of log levels.Instead, break up your namespaces into different components and enablethe ones you care about

关于node.js - 是否可以一起使用 winston 日志记录和调试模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47012796/

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