Spring Boot + Logback - внешняя конфигурация против локальной конфигурации - PullRequest
0 голосов
/ 03 октября 2018

У меня есть приложение Spring Boot с локальным файлом application.properties, содержащим, среди прочего:

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

В этом файле logback-dev.xml есть файловый appender с локальным путем (скажем,/ 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 / messages, например ", не удается найти путь / local /путь / журнал /"

Может кто-нибудь объяснить, что здесь происходит?Я думал, что внешний конфиг будет переопределять локальный, но здесь что-то странное.

1 Ответ

0 голосов
/ 15 ноября 2018

У нас та же проблема, и мы нашли решение с помощью этой документации: Внешняя конфигурация 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>

Надеюсь, что это решит вашу проблему и поможет понять.

...