2017-05-08 2 views
1

Ich habe eine Java-Anwendung, die ihre Logdateien in ein schreibgeschütztes Dateisystem schreiben muss. Die aktuelle Protokollierungskonfiguration verfügt über eine TimeBasedRollingPolicy, die jeden Tag ausgeführt wird. Leider schlägt der Rollover auf dem schreibgeschützten Dateisystem fehl, da eine Umbenennung nicht zulässig ist.Logback-Rollover auf schreibgeschütztem Dateisystem

Ist es möglich Logback zu konfigurieren, so dass es die Logdateien mit dem Namen erstellt, der bereits das Datumsmuster enthält?

Antwort

2

Ok, das war einfach. Ich musste nur das Dateielement aus dem Appender entfernen. Änderung der Konfiguration von dieser:

<appender name="FILE" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>logs/server.log</file> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>logs/%d{yyyy-MM-dd}-server.log</fileNamePattern> 
    ... 

dieser

<appender name="FILE" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>logs/%d{yyyy-MM-dd}-server.log</fileNamePattern> 
    ... 

Durch die Datei-Element auszulassen, verwendet der TimeBasedRollingPolicy einfach den Namen in das Element fileNamePattern konfiguriert und benennen Sie nicht auf Rollover.

Verwandte Themen