日志语言只需要两个级别: INFO 和 ERROR


日志很重要,日志记录对维护网络应用至关重要,日志记录不力可能导致问题无法被发现,从而引起客户不满。

常见日志级别:
大多数编程语言和日志库都提供多种日志级别,通常包括ERROR、WARN、INFO、DEBUG 和 TRACE。不过,不同语言和框架的具体级别及其用法可能会有很大差异。

日志的目的:
日志有多种用途,包括发现和修复错误、调试、了解应用程序使用情况以及深入了解系统如何工作。

日志级别需要简单性:
在实践中,通常两个日志级别就足够了:INFO 和 ERROR。

  • INFO 日志提供上下文,有助于了解应用程序正在做什么
  • 而 ERROR 日志则提醒开发人员需要注意的问题。

其他日志级别不需要:
作者批评了 WARN、DEBUG 和 TRACE 等附加日志级别的使用,认为它们往往会导致混乱:开发人员可能会被大量警报淹没,导致重要问题被忽视。

这些级别的日志要么是无用的,应予以删除;

  • 要么是对调试有用的,应作为 INFO;
  • 要么是重要的,应作为 ERROR 处理。

最佳实践:
文章提出了几种增强日志的最佳实践,包括:

  • 附加请求或跟踪 ID、
  • 包含时间戳、
  • 为用户或文档上下文添加相关 ID、
  • 记录审计信息、
  • 指出设置了哪些功能标志,
  • 以及指定日志的来源。

日志一致性:
作者强调了日志记录一致性的重要性,建议不要在修复漏洞时添加日志,之后又将其删除。相反,他们建议维护一套对各种问题都有用的通用日志。

总结:
log4j等现代日志框架只需要两者:

  • 阐明上下文
  • 突出问题所在

这两种类型正是简明逻辑的体现,首先从这两个入手,其他警告级别是更多细节,从属于这两种类型,如果这两种类型不明显,可以使用其他级别。但是如果每个程序员都具有上下文概念,那么一切简单多了。