每个日志级别包含哪些信息?

Gal*_*lal 12 java logging

可能的重复:
记录代码应该在哪里/哪个级别?
调试级别

是否有一个约定,一个标准或一个广泛使用的指南,它将有助于登录Java?具体来说,包括在每个级别(详细,调试,等等)而不是实际的日志记录机制.

在每个日志级别都有许多指南,但没有一个是具体的; 他们都很模糊,这使得"遵守命令"变得困难.

任何提示将不胜感激.

Joh*_*erg 11

这是个人解释,但我的(从最好的到最合适的顺序):

  • 跟踪 - 最好的日志记录级别.可用于记录仅在真实调试方案中相关的非常具体的信息,例如,记录每个数据库访问或每个HTTP调用等.
  • 调试 - 主要信息可帮助您调试程序.例如,每次批处理程序清空其批处理或在磁盘上创建新文件时,请记录日志.
  • 信息 - 一般应用程序流程,例如"正在启动应用程序","连接到数据库","注册...".简而言之,这些信息应该有助于任何观察者理解应用程序的一般用途.
  • 警告 - 警告可以恢复的错误.例如未能解析日期或使用不安全的例程.请注意,尽管应用程序可能提供了默认值,但我们仍应尽量遵守fail fail原则,而不是使用警告消息隐藏配置错误.
  • 错误 - 表示通常无法恢复的错误.如无法打开数据库连接.
  • 致命/严重用于记录应用程序无法恢复的错误,这可能导致程序立即终止.

最后,由您来定义最适合您的方式.就个人而言,我运行大多数具有Info的日志级别的生产系统,我最感兴趣的是遵循应用程序主要逻辑,当然还要捕获所有警告/错误.

除了代码混乱之外,没有太多的日志记录.有助于您更好地重现或理解问题的所有日志记录都是良好的日志记录 在性能说明中,大多数日志记录系统(例如,log4j)允许配置实际附加到物理日志的哪个级别,这是一件好事.