当前位置: 首页 > 知识库问答 >
问题:

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

宗政楚
2023-03-14

我刚刚完成了对log4j2.xml配置文件的调整,发现了一些我不太理解的东西。那么 是什么?

几乎在以下所有示例中: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>

共有1个答案

孙子民
2023-03-14

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

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

这对于排除配置问题很有用。

在Log4j2.9中,您可以使用系统属性Log4j2.debug(不需要任何值)来打开内部Log4j2状态日志记录,甚至在加载配置文件之前。在版本2.9之前,可以通过系统属性-dorg.apache.logging.log4j.simplelog.statuslogger.level=trace实现相同的功能。

 类似资料:
  • 问题内容: 在“ Jenkins URL”部分的Jenkins配置页面上,我将此选项设置为“ http://name_of_my_machine.jenkins:8080 / “通常,我通过以下方式打开jenkins:” http:// localhost:8080 / “但是这个新选项确实对我不起作用- 詹金斯(Jenkins)无法打开。那是什么意思呢? 问题答案: Jenkins无法自行确定其

  • 问题内容: 我正在研究Java for Web,它提到http是无状态的。这是什么意思,以及它如何影响编程 我也在研究spring框架,它提到了一些Bean,因为它们的状态发生了变化,它们必须声明为内部Bean。那是什么意思 问题答案: HTTP(服务器与客户端之间的实际传输协议)是“无状态的”,因为它在调用之间不记忆任何内容。 通过HTTP访问的 每个 资源都是单个请求,它们之间没有线程连接。如

  • 问题内容: 该文档提到 您可以使用过滤器来找到状态为137的退出容器,这意味着SIGKILL(9)杀死了它们 我想知道退出状态255意味着有什么特别的吗? 问题答案: 如果您在docker ps上看到此状态,显示状态为“ ” 的容器,则表示其主要入口点/命令进程已停止并显示该状态。 255只是意味着“有一个错误”,但除此之外并没有告诉您太多信息。

  • 问题内容: 我知道状态允许我们创建动态和交互的组件,但是我想深入了解状态。 有人可以通过一个真实的例子来帮助我理解React中的状态吗? 问题答案: 在上面的代码中,它有一个带有:count 的对象。 状态可以简单地理解为特定组件/应用在该时间点的值。在上面的示例中,当应用首次运行时,该应用处于状态 如我们所见,有两个按钮,它们使用来更新值,它只是更新应用计数的“状态”,并且只要状态改变,应用都会

  • 问题内容: 我已经看到了声明,接口和类 这是什么意思? 问题答案: 没有证据,我相信您在谈论Java的泛型支持… 泛型允许您抽象类型 在Java 5之前,很难提供能够支持多种不同类型的Objects的类而不必为每种特定情况编写代码,因此人们通常会这样做。 这导致在运行时做出许多困难的选择,您必须进行运行时检查以查看是否有可能将给定的Object强制转换为可用类型…例如 现在,这已经很明显了,但是如

  • 问题内容: 作为Java的初学者,我仍然不确定它的含义。有人精通Java 问题答案: 静态表示标记为此类的变量或方法在类级别可用。换句话说,你无需创建类的实例即可访问它。 因此,与其创建一个Foo实例,然后doStuff像这样调用: 你只需直接针对该类调用该方法,如下所示: