Spring Boot + Logback-外部配置与本地配置

时间:2018-10-03 15:44:29

标签: spring-boot logback properties-file

我有一个带有本地application.properties文件的Spring Boot应用程序,其中包括:

logging.config=src/main/resources/local/logback-dev.xml

在此logback-dev.xml文件中,有一个带有本地路径的文件附加器(例如/ local / path / log /)

当部署到其他环境(例如PROD)时,部署人员将自己的application.properties文件用作外部配置(--spring.config.location = ...),其中包括:

logging.config=/prod/path/logback-prod.xml

在该logback-prod.xml文件中,有一个具有不同路径的文件附加器(例如/ prod / path / log /)

运行该应用程序时,出现错误,因为似乎同时使用了两个文件:我们进入/ prod / path / log /消息中的日志,例如“ 找不到路径/ local / path / log /

有人可以解释一下这里发生了什么吗?我以为外部化配置会覆盖本地配置,但这里有些奇怪。

1 个答案:

答案 0 :(得分:0)

我们遇到了同样的问题,并在此文档的帮助下找到了解决方案: 外部配置 https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config 应用程序属性 https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config-application-property-files

在Pom中,我们添加了:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>**/application.properties</exclude>
                    <exclude>**/application-development.properties</exclude>
                    <exclude>**/application-production.properties</exclude>
                    <exclude>**/logback.xml</exclude>
                </excludes>
            </configuration>
        </plugin>

希望这可以解决您的问题并有助于理解。