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

yyyllmsg  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(153)

我刚刚完成了log4j2.xml配置文件的调整,发现了一些我不太明白的东西,那么<Configuration status="SOME_STATUS_HERE">是什么呢?
几乎在这里所有的例子中:来自Apache的http://logging.apache.org/log4j/2.x/manual/configuration.html人员向配置添加了状态。
例如这里是第一个:

<?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>
5ssjco0h

5ssjco0h1#

状态记录器由log4j2组件在内部使用。在配置中设置status="debug"(或“trace”)将导致此内部日志记录输出到命令行。
它将打印有关加载了哪些log4j2插件组件的调试信息(所有配置元素都Map到log4j2插件),以及更多详细信息,例如找到了哪些附加器和记录器,它们有哪些参数以及它们是如何组合的。
这对于解决配置问题很有用。
从Log4j 2.9开始,您可以使用系统属性log4j2.debug(不需要任何值)来打开内部Log4j2状态日志记录,即使在加载配置文件之前也是如此。在2.9之前的版本中,可以使用系统属性-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE来实现相同的功能。

相关问题