2016-06-28 88 views
5

Una delle mie applicazioni Spring Boot presenta problemi durante la fase del test Maven .Spring Boot utilizza il file /tmp/spring.log durante il test

Sia durante il test che il runtime dell'applicazione "normale", l'applicazione Spring Boot utilizza un file di configurazione di logback molto simile a src/main/resources/logback-spring.xml. Questo file di configurazione (in modo transitorio) include i file di configurazione di logback base.xml e file-appender.xml. Questi file di configurazione impostano una proprietà di accesso LOG_FILE=/tmp/spring.log.

Immagino sia consigliabile che il file /tmp/server.log sia di proprietà dell'utente e del gruppo ${MY_SPRING_BOOT_APPLICATION}.

Jenkins viene eseguito come utente jenkins. jenkins non dispone di autorizzazioni di scrittura per /tmp/server.log. Pertanto i test JUnit falliscono se eseguiti da Jenkins.

  • Qual è il modo migliore per configurare la registrazione in modo che funzioni bene durante un Jenkins accumulo con-teste in modo che esso istituiti registrazione rolling giornaliero quando sfruttando Spring Boot's SysV init.d service functionality (che mette i ceppi in /var/log/)?
  • Il file /tmp/spring.log verrà modificato (e quindi interrotto) contemporaneamente se ci sono due o più applicazioni Spring Boot in esecuzione nello stesso momento?

risposta

5

Nella mia applicazione Stivale Primavera, ho aggiunto <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> 

In questo modo, durante i test Maven, verrà creato un file di log separato nella corrente (testing) directory di lavoro.

Props to welcor for helping out.

+1

Assicurarsi di inserire la proprietà di sostituzione prima della proprietà , come illustrato qui. –