我有一个带有本地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 / ”
有人可以解释一下这里发生了什么吗?我以为外部化配置会覆盖本地配置,但这里有些奇怪。
答案 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>
希望这可以解决您的问题并有助于理解。