“状态”在Log4j2配置中意味着什么?

时间:2014-01-11 18:00:28

标签: java logging configuration log4j log4j2

我刚刚完成了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>

3 个答案:

答案 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会很有用。另请参见下面属性列表的快照:

Configuration element attributes

答案 2 :(得分:6)

如果有人正在寻找状态属性的正确级别,那么他们应该tracedebuginfowarn,{{1 }和error

Log4j2 Configuration