1

如何在测试期间让我的src/test/resources/log4j.properties文件覆盖我的文件/src/main/resources/log4j.properties?第一个在下target/test-classes,第二个在下target/classes

是的,我一直在寻找重复项,但在这种情况下,我没有混合使用记录器 - 我只使用 slf4j-log4j12。

4

2 回答 2

0

您可以在 pom.xml 中使用结合过滤和 maven-war-plugin 的 maven 配置文件。有了这个,您可以在 log4j.properties 中定义您需要的内容。

使用 logback 的示例:

在 config.test.properties 中定义一个变量:

basepath_log=/var/log/ProjectName

在 logback.xml 中定义一个占位符(相当于 log4j.properties):

<appender>
...
    <file>${basepath_log}/ProjectName.log</file>
...
</appender>

配置文件定义:

<profiles>
        <profile>
            <id>test</id>
            <properties>
                <targetenv>test</targetenv>
            </properties>
        </profile>
</profiles>

过滤(pom.xml):

<filters>
    <filter>src/main/resources/filter/config.${targetenv}.properties</filter>
</filters>

然后,您可以使用选项 -Ptest 直接将配置文件与 maven 一起使用,或者在您的 IDE(Netbeans、Eclipse ...)中选择它

于 2013-07-23T13:24:39.550 回答
0

对不起这是我的错。 这个错误表明我的问题可能是对错误版本的依赖。果然 - 2.3 太旧了;更新版本的行为符合预期。

于 2013-07-23T13:30:24.357 回答