2016-07-06 16 views
0

Ich benötigte meine Protokolle, um zu rollen, also habe ich eine "logback-spring.xml" -Datei erstellt und sie src/main/resources platziert. Funktioniert einwandfrei.Aktuator/Logfile-Endpunkt funktioniert nicht mehr mit externer Logback-Konfiguration

Das Problem ist, dass der Aktuatorendpunkt "/ logfile" nicht mehr funktioniert, da ich die Protokollierungskonfiguration aus der Datei "applications.yml" entfernt habe. Entsprechend der Dokumentation muss entweder "logging.path" oder "logging.file" festgelegt werden, damit der Endpunkt "/ logfile" funktioniert. Dies scheint jedoch mit meiner neuen 'xml-Konfiguration zu kollidieren.

Hier ist meine logback-spring.xml Konfiguration für eine gute Maßnahme:

<configuration debug="true" scan="true"> 
<include resource="org/springframework/boot/logging/logback/base.xml"/> 
<property name="LOG_PATH" value="logs"/> 
<property name="LOG_ARCHIVE" value="${LOG_PATH}/archive"/> 

<appender name="RollingFile-Appender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>${LOG_FILE}</file> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>${LOG_ARCHIVE}/bookingflow-%d{yyyy-MM-dd}.log</fileNamePattern> 
     <maxHistory>30</maxHistory> 
     <totalSizeCap>1GB</totalSizeCap> 
    </rollingPolicy> 
    <encoder> 
     <pattern>%d %-5level [%thread] %logger : %msg%n</pattern> 
    </encoder> 
</appender> 
<appender name="Async-Appender" class="ch.qos.logback.classic.AsyncAppender"> 
    <appender-ref ref="RollingFile-Appender"/> 
</appender> 

<logger name="com.novasol.bookingflow.api" level="debug"> 
    <appender-ref ref="Async-Appender"/> 
</logger> 
<springProfile name="production"> 
    <logger name="com.novasol.bookingflow.api" level="error"> 
     <appender-ref ref="Async-Appender"/> 
    </logger> 
</springProfile> 
</configuration>  

Alle geschätzt Zeiger.

freundlichen Grüßen Lars

Antwort

1

es in der folgenden Weise gelöst:

In application.yml

logging: 
    config: 
     classpath: "logback-spring.xml" 
    file: logs/bookingflow.log 

Die "logback-spring.xml":

<configuration debug="true" scan="true"> 
<include resource="org/springframework/boot/logging/logback/base.xml"/> 
<property name="LOG_ARCHIVE" value="${LOG_PATH}/archive"/> 

<appender name="RollingFile-Appender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>${LOG_PATH}/${LOG_FILE}</file> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>${LOG_ARCHIVE}/bookingflow-%d{yyyy-MM-dd}.log</fileNamePattern> 
     <maxHistory>30</maxHistory> 
     <totalSizeCap>1GB</totalSizeCap> 
    </rollingPolicy> 
    <encoder> 
     <pattern>%d %-5level [%thread] %logger : %msg%n</pattern> 
    </encoder> 
</appender> 
<appender name="Async-Appender" class="ch.qos.logback.classic.AsyncAppender"> 
    <appender-ref ref="RollingFile-Appender"/> 
</appender> 

<logger name="com.novasol.bookingflow.api" level="debug"> 
    <appender-ref ref="Async-Appender"/> 
</logger> 
<springProfile name="production"> 
    <logger name="com.novasol.bookingflow.api" level="error"> 
     <appender-ref ref="Async-Appender"/> 
    </logger> 
</springProfile> 

endlich die Lösung gefunden:

Folgende Anforderungen

endpoints: 
    logfile: 
    external-file: logs/custom.log 
+0

funktionierten nicht :-(in diese gestoßen angegeben werden: https://github.com/spring-projects/spring -boot/issues/1434 –