如何在 IDE 中为运行时使用一个 log4j2 配置文件,为 packaging/deployment 使用另一个 log4j2 配置文件?

How to use one log4j2 configuration file for runtime in IDE and another log4j2 configuration file for packaging/deployment?

使用 Eclipse 06-2021、Maven、log4j2。

我正在使用 log4j2 框架登录我的应用程序。我在 log4j2.properties 文件的资源文件夹中创建了配置。

我在那里定义了一些记录器及其级别:

...
logger.filelogconvert.appenderRef = FileLogConvert
logger.fileloggeneral.appenderRef = FileLogGeneral
rootLogger.appenderRef.console.ref = FileLogGeneral

logger.fileloggeneral.level = warn
rootLogger.level = warn

但是当我想部署应用程序时我需要重写这个文件,因为我需要将级别从 info 更改为 warn 或更改 appender/logger 引用。

使用 log4j2-test.properties 文件:https://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration

...
logger.filelogconvert.appenderRef = Console
logger.fileloggeneral.appenderRef = Console
rootLogger.appenderRef.console.ref = Console

logger.fileloggeneral.level = info
rootLogger.level = info

然后在jar插件的pom.xml中排除:

<build>
    ...
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
            <excludes>
                <exclude>log4j2-test.properties</exclude>
            </excludes>
        </configuration>
    </plugin>
    ...
</build>

当然还有其他几种方法可以实现这一点。