log4j日志记录层次结构顺序

Mik*_*ike 161 logging log4j

log4j日志记录的层次结构是什么?

DEBUG
INFO
WARN
ERROR
FATAL
Run Code Online (Sandbox Code Playgroud)

哪一个提供最高的日志记录有助于解决问题?任何人都可以提供从最高到最低日志记录的订单或层次结构吗?谢谢!

nxh*_*oaf 270

此表可能对您有所帮助:

日志级别

在第一列中,您将看到日志在每个级别中的工作方式.即对于WARN,(致命,错误和警告)将是可见的.对于OFF,什么都不可见.

  • 我认为这是对日志级别和预期日志消息类型的出色可视化,这些日志消息类型将针对特定的日志记录器级别设置输出。我唯一的建议可能是使用交替的行颜色来引导查看者该图表应按行而不是列进行解释。(即,行代表记录器级别,列代表将出现的日志消息类型) (2认同)

MaD*_*aDa 148

使用武力,阅读源(从摘录PriorityLevel班级编制,跟踪级别在1.2.12版本中引入):

public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT  = 30000;
public final static int INFO_INT  = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000; 
public final static int ALL_INT = Integer.MIN_VALUE; 
Run Code Online (Sandbox Code Playgroud)

log4j的API的Level,这使得它很清楚.

当库决定是否打印某个语句时,它会计算负责Logger对象的有效级别(基于配置)并将其与LogEvent级别进行比较(取决于代码中使用的方法 - trace/debug/...... /致命)如果LogEvent级别大于或等于Logger's级别,LogEvent则发送到appender(s) - "打印".在核心,这一切归结为一个整数比较,这就是这些常量开始行动的地方.

  • 为**投票使用武力,阅读源**. (10认同)

the*_*olm 56

OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL
Run Code Online (Sandbox Code Playgroud)

  • 维恩图OFF()ALL(TRACE(调查(信息(警告(错误(致命)))))) (5认同)
  • 在你的链接上它说"ALL <DEBUG <INFO <WARN <ERROR <FATAL <OFF"它和我说的完全相同 (4认同)

小智 23

log4j日志记录级别的层次结构从最高到最低顺序如下:

  • 跟踪
  • DEBUG
  • 信息
  • 警告
  • 错误
  • 致命
  • 关闭

TRACE日志级别提供最高日志记录,这有助于解决问题.DEBUG日志级别对于解决问题也非常有用.

您还可以参考此链接以获取有关日志级别的更多信息:https: //logging.apache.org/log4j/2.0/manual/architecture.html


小智 11

[摘自http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]

DEBUG是受限制最低的java日志记录级别,我们应该编写调试应用程序所需的所有内容,此Java日志记录模式应仅用于开发和测试环境,不得在生产环境中使用.

INFO比DEBUG java日志记录级别更受限制,我们应该记录消息,这些消息是服务器已经启动,传入消息,传出消息等信息在java中的INFO级别日志记录中.

WARN比INFO java日志记录级别更受限制,并用于记录警告类型的消息,例如客户端和服务器之间的连接丢失.数据库连接丢失,Socket达到极限.这些消息和Java日志记录级别几乎是重要的,因为您可以在java中设置这些日志消息的警报,并让您的支持团队监视您的Java应用程序的运行状况并对此警告消息做出反应.总结WARN级别用于记录用于登录Java的警告消息.

ERROR是比WARN更受限制的java日志记录级别,用于记录错误和异常,您还可以在此Java日志记录级别设置警报,并警告监视团队对此消息做出响应.ERROR对于使用Java进行登录非常重要,您应该始终打印它.

FATAL java日志记录级别指定非常严重的错误事件,可能会导致应用程序中止.在此之后,大多数应用程序崩溃并停止.

OFF Java日志级别具有最高级别,旨在关闭Java中的日志记录.


小智 5

层次结构顺序

  1. 所有
  2. 跟踪
  3. 调试
  4. 信息
  5. 警告
  6. 错误
  7. 致命


Ric*_*lis 5

我发现“日志级别”这个术语有点令人困惑,所以我更喜欢这样考虑:

  • 事件有一个严重性(级别)。在 log4j 中,它被建模为整数。
  • 记录器有一个THRESHOLD(又名 LoggerConfig 级别,用于过滤事件)

按照惯例,log4j 定义了一些标准日志级别。在 v2.x 中,这些是(按严重性降序排列): OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL。请注意,OFFALL仅用作记录器阈值,而不是事件严重性级别。您还可以添加自己的自定义级别,并为其分配数值。

记录器将忽略任何低于其阈值的事件:

  • 阈值表示OFF不记录日志。
  • 阈值FATAL表示仅记录致命事件(或更严重的事件)。
  • 阈值ERROR意味着仅记录 ERROR、FATAL(或更糟)。
  • 阈值WARN意味着仅记录 WARN、ERROR、FATAL(或更糟)。
  • ETC...
  • 阈值ALL意味着所有事件都被记录(最详细的选项)

作为图表(基于log4j v2.x 文档中显示的表格),它看起来像这样:

日志记录级别备忘单