【问题标题】:Log4j2 - overwrite existing log file configurationLog4j2 - 覆盖现有的日志文件配置
【发布时间】:2019-09-30 02:16:16
【问题描述】:

我有一组 maven 项目,其中一个 logging 定义了对 log4j2 的依赖项

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.11.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.1</version>
    </dependency>
</dependencies>

as 还包含log4j2.xml,带有一组记录器附加配置。

现在我想在项目中将这个log4j2.xml 覆盖为例如更改logging/log4j2.xml 配置中定义的日志级别。

我该怎么做?

我尝试在项目类路径 (src/main/resources) 中简单地添加一个新的 log4j2.xml - 这似乎被忽略了。

我尝试通过-Dlog4j.configuration=src/main/resources/log4j2.xml 添加新的配置文件,但这似乎也被忽略了。

在已经预定义的文件上使用自定义配置文件的方法是什么?

【问题讨论】:

  • 在这种情况下,您可以使用 SLF4J 覆盖所有现有的记录器。但是,如果我了解您的要求,您仍然可以在配置 log4j2.xml 中更改日志级别。

标签: java log4j2


【解决方案1】:

Log4j2 查找 log4j.configurationFile 系统属性,而不是 log4j.configuration。所以试试-Dlog4j.configurationFile=src/main/resources/log4j2.xml。

【讨论】:

  • 这确实有帮助 - 我可以看到创作,例如另一个日志文件,当在本地 log4j2.xml 中指定时 - 似乎仍然没有考虑日志级别,但我认为这是我需要找出的另一个问题。
猜你喜欢
  • 2019-03-17
  • 1970-01-01
  • 2018-09-01
  • 1970-01-01
  • 2016-10-24
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
相关资源
最近更新 更多