Answers:
使用强制,阅读源代码(摘自Priority
and Level
类编译,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;
或class的log4j APILevel
,这很清楚。
当库决定是否打印某些语句时,它将计算责任人的有效级别。 Logger
对象(基于配置),并将其与LogEvent
的级别进行比较(取决于代码中使用的方法– trace / debug / ... /致命)。如果LogEvent
的水平大于或等于Logger
的水平,则将LogEvent
其发送到附加程序-“已打印”。从根本上讲,所有这些都归结为一个整数比较,这就是这些常量起作用的地方。
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL
trace
,他们后来正确地指出ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
(其中<
意味着次要)
log4j日志记录级别的层次结构按从最高到最低的顺序如下:
TRACE日志级别提供最高的日志记录,这将有助于解决问题。调试日志级别对于解决问题也非常有用。
您还可以参考此链接以获取有关日志级别的更多信息:https : //logging.apache.org/log4j/2.0/manual/architecture.html
[摘自http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]
DEBUG是受限制的最低Java日志记录级别,我们应该编写调试应用程序所需的所有内容,该Java日志记录模式仅应在开发和测试环境中使用,而不能在生产环境中使用。
INFO比DEBUG Java日志记录级别受到更多限制,我们应该在Java的INFO级别日志记录中提供有用信息的消息,例如Server已启动,传入消息,传出消息等。
WARN比INFO Java日志记录级别受到更多限制,并且用于记录警告类型的消息,例如,客户端和服务器之间的连接丢失。数据库连接丢失,套接字已达到极限。这些消息和Java日志记录级别几乎很重要,因为您可以在Java中为这些日志记录消息设置警报,并让您的支持团队监视Java应用程序的运行状况并对此警告消息做出反应。在摘要中,WARN级别用于记录警告消息以登录Java。
ERROR是比WARN受更严格限制的Java日志记录级别,用于记录错误和异常,您还可以在此Java日志记录级别上设置警报,并使警报监视团队对此消息作出反应。错误对于登录Java很严重,您应该始终打印它。
FATAL Java日志记录级别指定了非常严重的错误事件,可能会导致应用程序中止。在此之后,大多数情况下您的应用程序崩溃并停止了。
OFF Java日志记录级别具有最高的级别,旨在关闭Java中的日志记录。
error
,info
,debug
等记录器受让人的优先级/严重性级别的日志消息。如果日志记录真正生效(消息将可见)取决于所使用的记录器的有效日志记录级别。