Spring Boot использует файл /tmp/spring.log во время тестирования

Одно из моих приложений Spring Boot создает проблемы во время Mavenтестовое задание фаза.

Как во время тестирования, так и во время «обычной» работы приложения, приложение Spring Boot использует файл конфигурации logback, очень похожий наsrc/main/resources/logback-spring.xml, Этот файл конфигурации (транзитивно) включает файлы конфигурации logbackbase.xml а такжеfile-appender.xml, Эти файлы конфигурации устанавливаютсвойство logback LOG_FILE=/tmp/spring.log.

Я полагаю, лучше всего этот файл/tmp/server.log принадлежит пользователю и группе${MY_SPRING_BOOT_APPLICATION}.

Jenkins работает как пользовательjenkins. jenkins не имеет разрешения на запись для/tmp/server.log, Поэтому тесты JUnit не выполняются при выполнении Jenkins.

Каков наилучший способ настроить ведение журнала, чтобы он хорошо работал во время Jenkins?строить-с-тесты а также так что настраиваетежедневная рубка при использованииВесенние ботинкиSysV init.d функциональность сервиса (который ставит логи в/var/log/)?Будет ли файл/tmp/spring.log быть изменен (и, следовательно, поврежден) одновременно, если одновременно запущено два или более приложений Spring Boot?

Ответы на вопрос(1)

Решение Вопроса

В моем приложении Spring Boot я добавил<property name="LOG_TEMP" value="./logs"/> вsrc/test/resources/logback-test.xml:

<?xml version="1.0" encoding="UTF-8"?>

<configuration scan="true">
    <property name="LOG_TEMP" value="./logs"/>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <logger name="com.example" level="INFO"/>


    <root level="WARN">
        <appender-ref ref="CONSOLE"/>
    </root>

</configuration>

Таким образом, во время тестирования Maven будет создан отдельный файл журнала в текущей (тестовой) рабочей директории.

Реквизит дляwelcor за помощь.

 Conor Svensson30 мая 2017 г., 03:46
Убедитесь, что вы поместили переопределение свойства перед свойством <include>, как показано здесь.

Ваш ответ на вопрос