2016-05-16 13 views
2

wächst Ich habe unten Rolling-Richtlinie in der logback.xml.
Problem ist, wenn die Dateigröße größer als 10 MB wird, wird eine Ausnahme ausgelöst. Es sieht so aus, als würde es versuchen, eine neue Datei zu erstellen, aber da dieselbe Datei bereits für dasselbe Datum vorhanden ist, kann sie das nicht und löst eine Ausnahme aus.
Zum Beispiel haben wir bereits eine Datei pvExport.2016-05-15.log und wenn pvExport.log größer als 10 MB wird, würde es versuchen, die Datei mit dem gleichen Namen wie pvExport.2016-05-15.log zu erstellen und ausnahmsweise nicht sicher, obwohlLogback: Ausnahme, wenn die Datei über maxFileSize

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <!-- rollover daily --> 
      <fileNamePattern>${EXPORT_LOG_HOME}/pvExport.%d{yyyy-MM-dd}.log 
         </fileNamePattern> 
      <timeBasedFileNamingAndTriggeringPolicy 
       class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>10MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
     </rollingPolicy> 

Antwort

2

Ihre fileNamePattern in diesem Fall werfen tatsächlich ungültig ist daher würde. Von docs

Beachten Sie das "% i" Konvertierungstoken zusätzlich zu "% d". Die% i- und% d-Token sind obligatorisch. Jedes Mal, wenn die aktuelle Protokolldatei maxFileSize vor der aktuellen Zeitperiode endet erreicht hat, wird es mit zunehmendem Index archiviert wird, beginnend bei 0.

Hinzufügen der %i Umwandlung Token zu Ihrem Muster sollte dieses Problem beheben:

<fileNamePattern>${EXPORT_LOG_HOME}/pvExport.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
+0

das hat funktioniert, Danke – Ahmad