在生成版本中包含不同的logback.xml

时间:2017-09-11 13:35:20

标签: java maven logback

我使用Maven进行构建,并希望使用logback-debugging.xml进行开发,但将另一个logback-info.xml打包到最终产品中。

2 个答案:

答案 0 :(得分:0)

Logback按特定顺序搜索配置文件(请参阅the docs here)。它看起来的第一个位置是类路径中名为logback-test.xml的文件。由于您使用的是maven,请将该文件包含在 test / resources 目录中。这样,当您运行任何测试时,都会使用logback-test.xml文件。对于您的生产代码,请在 main / resources 目录中包含logback.xml。

答案 1 :(得分:0)

我提出了以下Maven配置:

    <profile>
        <id>development</id>
        <activation>
            <property>
                <name>dev</name>
            </property>
        </activation>
        <build>
            <resources>
                <resource>
                    <filtering>true</filtering><!-- if it is neccessary -->
                    <directory>src/main/logging/develop</directory><!-- from -->
                    <targetPath>${project.build.outputDirectory}</targetPath><!-- to -->
                    <includes><!-- what -->
                        <include>logback.xml</include>
                    </includes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*</include>
                    </includes>
                </resource>
            </resources>
        </build>
    </profile>
</profiles>

在Maven设置文件中,我们可以默认激活一个配置文件:

<settings>
  [..]
  <activeProfiles>
    <activeProfile>development</activeProfile>
  </activeProfiles>
  [..]
</settings>

另一种方法是将默认配置文件配置移动到&#34; normal&#34; pom build section。

要激活开发配置文件,请通过命令行传递调试标志,例如mvn package -Ddev