我正在尝试评估使用像 Winston 这样的日志系统的原因在 Node.js 中与仅编写我自己的日志记录方法相比。日志库似乎并没有提供太多功能。
一些日志系统(如 log4j)具有日志记录层次结构,如果您登录到 a.b.c,它也会记录到 a.b 和 a(除非您有其他复杂的停止传播配置)。这种事情通常是不是太过分了?什么情况下你需要它?
我正在考虑编写一个日志记录函数,将日志写入 mongo 数据库,然后我就可以非常轻松地查询和搜索该数据库。想必日志库可以做到这一点,但似乎使用库来实现这一点与从头开始编写它的工作量一样多。
简而言之:使用日志系统有什么好处?
最佳答案
我不太了解log4j,也不太了解Winston;超过 3 分钟未使用。
但以下是我希望在日志系统中看到的一些优点:
错误级别
我必须能够指定我想要写入的日志级别。最好也有一些默认值(警告、错误、调试等)。
流媒体
当某些内容被记录时,您可以做任何您想做的事情:将其写入文件、写入数据库等。这取决于您。
定制
我希望能够:
- 带时间戳的消息
- 写入
process.stdout
时显示彩色消息(在开发过程中非常重要!) - 可以在消息中添加级别(对于文件)或其他任何内容(在同一进程中启动各种记录器时)作为前缀。这对于区分写入同一流的各种级别/记录器实例非常有用。
关于node.js - 使用日志系统/模块/库的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17662605/