log4j日志记录的层次结构是什么?
DEBUG
INFO
WARN
ERROR
FATAL
哪一个提供最高的日志记录,这将有助于解决问题? 有人能提供日志记录从高到低的顺序或层次结构吗? 谢谢!
log4j日志记录的层次结构是什么?
DEBUG
INFO
WARN
ERROR
FATAL
哪一个提供最高的日志记录,这将有助于解决问题? 有人能提供日志记录从高到低的顺序或层次结构吗? 谢谢!
当前回答
为了说明这一点,在log4j中没有像“层次结构”这样定义的术语。 是的,有不同的层次。为了进行故障排除,您必须选择需要日志的级别。
其他回答
为了说明这一点,在log4j中没有像“层次结构”这样定义的术语。 是的,有不同的层次。为了进行故障排除,您必须选择需要日志的级别。
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL
使用强制,读取源代码(摘自编译的优先级和级别类,TRACE级别在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;
或者Level类的log4j API,这很清楚。
当库决定是否打印某条语句时,它会计算负责的Logger对象的有效级别(基于配置),并将其与LogEvent的级别(取决于代码中使用的方法- trace/debug/…/fatal)进行比较。如果LogEvent的级别大于或等于Logger的级别,LogEvent将被发送到appender(s) - "打印"。归根结底,这一切都可以归结为整数比较,这就是这些常量发挥作用的地方。
[摘自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日志级别限制更大,用于记录警告类型的消息,例如客户端和服务器之间的连接丢失。数据库连接丢失,套接字达到极限。这些消息和java日志级别非常重要,因为您可以在java中对这些日志消息设置警报,让您的支持团队监视java应用程序的健康状况,并对这些警告消息做出反应。WARN级别用于记录登录Java时的警告信息。
ERROR是比WARN更受限制的java日志级别,用于记录错误和异常,您还可以在此java日志级别上设置alert,并警告监控团队对此消息做出反应。在登录Java时ERROR是很严重的,你应该总是打印它。
FATAL java日志级别指定可能导致应用程序中止的非常严重的错误事件。在此之后,大部分应用程序崩溃并停止。
OFF java日志级别具有可能的最高级别,用于关闭java中的日志记录。
等级秩序
所有 跟踪 调试 信息 警告 错误 致命的 从