如何为Maven/Surefire和Eclipse加载不同的logback配置

4
我希望在Eclipse和Maven(Surefire插件)中为我的单元测试设置不同的默认logback配置。基本上,我希望在测试期间生成的任何日志都可以在Eclipse的控制台上发送或在Maven中写入文件。
目前,我有一个包含两个appender的单一logback-test.xml。
我认为解决方案涉及为这两个类路径添加不同的logback-test.xml。但是我该如何做呢?在Maven中手动添加是可行的(例如,在配置文件中),但要求在Eclipse中手动更改(跨许多项目)将非常麻烦。
1个回答

12

您可以始终使用系统属性logback.configurationFile来覆盖logback配置文件的查找。

对于Maven,您可以将以下内容添加到maven-surefire-plugin的配置部分中:

<systemPropertyVariables>
    <logback.configurationFile>${basedir}/src/test/resources/logback-maven.xml</logback.configurationFile>
</systemPropertyVariables>

只是想添加一条注释,它可能对那些已按照接受的答案所说做了所有事情但仍然无法获得logback配置文件控制的人有用:问题可能在于依赖关系。如果您的类路径中有slf4j-api-simple-*.jar,它将不使用logback配置文件。只需将其删除即可。这是原始链接:https://dev59.com/tJLea4cB1Zd3GeqPyy79#34343478 - Yan Pak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接