我刚刚完成了log4j2.xml配置文件的调整,发现了一些我不太懂的东西。那么什么是<Configuration status="SOME_STATUS_HERE">
?
这里的所有例子几乎都是: http://logging.apache.org/log4j/2.x/manual/configuration.html 来自Apache的人员将状态添加到配置中。
例如,这是第一个:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"> <!--status="WARN" - what is this???-->
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
答案 0 :(得分:68)
状态记录器由log4j2组件在内部使用。在配置中设置status="debug"
(或“跟踪”)将导致此内部日志记录输出到命令行。
它将打印有关加载哪些log4j2插件组件的调试信息(所有配置元素映射到log4j2插件),以及更多详细信息,例如找到了哪些appender和logger,它们具有哪些参数以及它们如何组合。
这对于解决配置问题非常有用。
从Log4j 2.9开始,即使在加载配置文件之前,您也可以使用系统属性log4j2.debug
(无需任何值)打开内部Log4j2状态日志记录。在2.9版之前,使用系统属性-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE
可以实现相同的功能。
答案 1 :(得分:25)
如果有人想知道Log4j2文档中提到Log4j2 XML <Configuration>
元素属性的位置,我认为提供链接here会很有用。另请参见下面属性列表的快照:
答案 2 :(得分:6)
如果有人正在寻找状态属性的正确级别,那么他们应该trace
,debug
,info
,warn
,{{1 }和error
。