如何在测试期间让我的src/test/resources/log4j.properties
文件覆盖我的文件/src/main/resources/log4j.properties
?第一个在下target/test-classes
,第二个在下target/classes
。
是的,我一直在寻找重复项,但在这种情况下,我没有混合使用记录器 - 我只使用 slf4j-log4j12。
您可以在 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 ...)中选择它
对不起这是我的错。 这个错误表明我的问题可能是对错误版本的依赖。果然 - 2.3 太旧了;更新版本的行为符合预期。