log4j日志logging层次结构顺序
什么是log4j日志的层次结构?
DEBUG INFO WARN ERROR FATAL
哪一个提供最高的日志logging,这将有助于解决问题? 任何人都可以提供从高到低的日志logging的顺序或层次结构吗? 谢谢!
使用强制,阅读源代码(从编译的Priority
和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;
或Level
类的log4j API ,这很清楚。
当库决定是否打印某个语句时,它会计算负责任的Logger
对象(基于configuration)的有效级别,并将其与LogEvent
的级别进行比较(取决于代码中使用哪种方法 – trace /debugging/…/致命 )。 如果LogEvent
的级别大于或等于Logger
的级别, LogEvent
被发送给appender(s) – “printed”。 在核心,这一切都归结为一个整数比较,这就是这些常数开始行动。
此表可能对您有所帮助:
在第一栏中,您将看到每个项目的“可见度”是如何工作的。 即对于警告 ,( 致命,错误和警告 )将是可见的。 对于closures ,什么都不会看到。
OFF FATAL ERROR WARN INFO DEBUG TRACE ALL
log4j日志级别的层次结构如下,从最高到最低的顺序:
- 跟踪
- DEBUG
- 信息
- 警告
- 错误
- 致命
- closures
TRACE日志级别提供了最高的日志logging,这将有助于解决问题。 DEBUG日志级别也是非常有用的麻烦拍摄的问题。
您也可以参考这个链接了解更多关于日志级别的信息: https : //logging.apache.org/log4j/2.0/manual/architecture.html
[摘自http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html%5D
DEBUG是最低限制的java日志logging级别,我们应该编写debugging应用程序所需的所有东西,这种java日志logging模式只能用于开发和testing环境,不能用于生产环境。
INFO比DEBUG的java日志logging级别更受限制,我们应该logging消息,这些消息是有信息目的的,比如服务器已经启动了,接收消息,发送消息等在java中的INFO级别login。
WARN比INFO java日志级别更受限制,用于logging警告消息types,例如客户端和服务器之间的连接丢失。 数据库连接丢失,Socket达到极限。 这些消息和java日志logging级别几乎是很重要的,因为您可以在java中设置这些日志消息的警报,并让您的支持团队监视您的Java应用程序的运行状况,并对此警告消息作出反应。 总结WARN级别用于logging用于loginJava的警告消息。
ERROR是比WARN更受限制的java日志logging级别,用于logging错误和exception,还可以在此java日志logging级别上设置警报,并向警报监视小组发送有关此消息的响应。 错误是认真的loginJava,你应该总是打印它。
致命的java日志logging级别表示非常严重的错误事件,可能导致应用程序中止。 在这之后大多数情况下你的应用程序崩溃并停止。
closuresJava日志logging级别具有最高可能的级别,并打算closuresJava中的日志logging。