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

Log4j2 JMX:通过jConsole更新日志级别不生效

杜海
2023-03-14

我正在尝试配置log4j2,以便

  1. 我可以通过JMX和
  2. 访问记录器
  3. 更改其日志级别。

例如,如果我用XYZ日志记录器以日志级别DEBUG启动应用程序,并通过JConsole将该日志级别更改为fataly,它会成功地更改,但应用程序将继续以DEBUG级别进行日志记录。

如果不是更新单个LoggerConfig,而是通过传递具有更新日志级别的新xml配置来更新LoggerContext,则它会按照预期工作。

问题应该是什么?文档是相当和谷歌拒绝帮助我。

根据我的理解,这个问题是当我通过JConsole更新LoggerConfig中的日志级别时,log4j2通过MBean正确地更新了日志级别,但它没有更新LoggerContext,它只是调用setter方法并返回。但是,如果我更新了loggercoentextlog4j2,则创建新的上下文来更新自己。

共有1个答案

陶修洁
2023-03-14

这确实是个虫子。谢谢你的报道。这已经在trunk中修复,并将包含在下一个版本(rc2)中。

 类似资料:
  • 问题内容: 我的log4j.properties文件- 我想在stdout上甚至显示DEBUG和TRACE消息,所以我更改了以下行 但是,当我在Tomcat控制台上查看日志回显时,我看不到任何变化,我仍然只看到INFO,WARN …消息。 问题答案: 好了,即使您将根记录器的名称设为TRACE,您的(指向INFO)也将覆盖petascope。*软件包的默认根记录器的TRACE,这就是您看不到任何D

  • 我正在使用一个第三方库,其来源我无法访问。这个库在错误级别上做了很多日志记录。它生成的这些错误级日志事件很有趣,但我们不认为它们是错误级事件。

  • 我目前正在尝试降低我在java项目中使用的PDFBox 1.8.6库的日志记录级别,但失败了。基于前面的问题,我在 /src/目录中有以下log4j.properties文件。 我不确定我还遗漏了什么,因为我仍然在控制台中收到类似以下消息的垃圾邮件。 如果有一种方法可以通过编程方式更改日志级别,那么我根本不会附加到属性文件,因为我在其他任何地方都不使用log4j。我不知道它是否使用log4j。属性

  • 我不明白的第一个例子是,下面只打印“warning:root:hello from warn”。如果我理解正确的话,“logging.info”实际上调用根记录器,而根记录器默认为警告级别。所以第一个“Hello from Info”被忽略,这很好。但为什么第二个“你好从信息”也没有打印出来? 第二个问题是处理程序和记录器的日志级别。如果我们同时为处理程序和记录器设置日志级别,那么哪一个是有效的?

  • 主要内容:如何设置日志级别?,日志级别如何工作?,Log4j 日志级别示例日志级别用于对日志文件中的信息进行分类。但是它们以非常具体的方式进行分类,即按紧急程度分类。该级别允许您管理以下类型的信息: 您可以在搜索过程中过滤您的日志文件。 您可以管理您记录的信息量。 系统中给出的信息量和类型以及事件日志由配置文件中的 log4j 日志级别设置控制。每条日志消息都以消息级别为前缀。 日志级别是org.apache.log4j.Level类的一个实例。 Log4j 具有以下级

  • 如何编写一个简单的log4j2.xml文件,将不同级别的日志放入不同的文件中? 例如,我们有错误日志,任何信息日志,我需要将所有错误日志消息推入一个日志文件,所有信息日志消息推入另一个文件。 我怎么做?