【问题标题】:Dynamically changing log level in log4j version 1 and bridge to version 2在 log4j 版本 1 中动态更改日志级别并桥接到版本 2
【发布时间】:2019-03-03 06:19:49
【问题描述】:

我目前正在开发一个想要动态更改下一个 java 应用程序(在本地主机上运行)的日志级别的应用程序。此外部应用程序使用 log4j 版本 1.2.16。我想使用 jmx,找到所有“LoggerConfigAdminMBean”并更改级别。

在规范(访问https://logging.apache.org/log4j/2.0/manual/jmx.html)中提到,log4j 2 是可能的。

因为不想对外部应用做太大的改动,所以只用log4j1.2bridge.jar改了log4j1.2.16.jar(访问https://logging.apache.org/log4j/2.x/log4j-1.2-api/index.html)。但是这个改变的结果是 LoggerConfigAdminMBean 的空列表。

使用 log4j 1.2 桥接 jar 是否完全激活了 Jmx MBeans 功能,是否有某种方法可以获取完整的 LoggerConfigAdminMBean 列表,还是只能通过从 log4j1 迁移到 log4j2 版本?

非常感谢您的回答。

【问题讨论】:

    标签: log4j jmx mbeans


    【解决方案1】:

    你应该使用这两个依赖:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.11.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
        <version>2.11.1</version>
    </dependency>
    

    并调整 log4j.properties,它必须放在项目的类路径中。见:https://logging.apache.org/log4j/2.x/manual/configuration.html#Properties

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 2022-01-19
      • 2022-08-23
      • 1970-01-01
      • 2016-07-25
      • 2018-07-11
      相关资源
      最近更新 更多