Log4j2配置中的“状态”是什么意思?


70

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

Answers:


85

log4j2组件在内部使用状态记录器。在配置中设置status="debug"(或“ trace”)将导致此内部日志记录输出到命令行。

它将打印有关加载了哪些log4j2插件组件(所有配置元素都映射到log4j2插件)的调试信息,以及更多详细信息,例如,找到了哪些附加程序和记录器,它们具有什么参数以及如何组合。

这对于解决配置问题很有用。

从Log4j 2.9开始,log4j2.debug即使在加载配置文件之前,也可以使用系统属性(不需要任何值)打开内部Log4j2状态日志记录。在2.9版之前,可以使用system property实现相同的功能-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE


如果有人想知道<Configuration>Log4j2文档中提到Log4j2 XML元素属性的位置:logging.apache.org/log4j/2.x/manual/…另请参阅此处的属性列表快照:i.stack.imgur.com /zPx1q.png
skrtxao 2014年

而如果有人正在寻找正确的水平他们的状态属性:tracedebuginfowarnerrorfatalLog4j2配置
JGlass

@skrtxao这有帮助。.仅文档已更新,快照中的此特定表已移至“配置语法”标题下
。。– Sri9911
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.