log4j日志记录的层次结构是什么?
DEBUG
INFO
WARN
ERROR
FATAL
哪一个提供最高的日志记录有助于解决问题? 任何人都可以提供从最高到最低日志记录的订单或层次结构吗? 谢谢!
答案 0 :(得分:246)
答案 1 :(得分:143)
使用force,读取源代码(摘自编译的Priority
和Level
类,版本1.2.12中引入了TRACE级别):
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;
或log4j API for the Level
class,这很清楚。
当库决定是否打印某个语句时,它会计算负责Logger
个对象的有效级别(基于配置),并将其与LogEvent
级别进行比较(取决于在代码中使用哪种方法 - trace / debug /.../ fatal )。如果LogEvent
的级别大于或等于Logger
的级别,则LogEvent
将被发送到appender - “打印”。从本质上讲,这一切归结为整数比较,这就是这些常数开始运作的地方。
答案 2 :(得分:56)
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL
答案 3 :(得分:22)
log4j日志记录级别的层次结构从最高到最低顺序如下:
TRACE日志级别提供最高日志记录,这有助于解决问题。 DEBUG日志级别对于解决问题非常有用。
您还可以参考此链接以获取有关日志级别的更多信息: https://logging.apache.org/log4j/2.0/manual/architecture.html
答案 4 :(得分: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 :(得分:3)
层次结构顺序
答案 6 :(得分:0)