logback erstellen von log-Dateien in Ordner mit Namen wie aktuelle Datum
In meinem aktuellen Projekt möchte ich zum erstellen von log-Dateien Datum wise d.h. die log-Dateien sollten sich im inneren
Ordner mit Namen wie Datum.
Auch die Archivierung passieren soll, dass bei bestimmten Ordner.
Aktuellen appender, die ich benutze sieht wie folgt aus (es gilt das archivieren der log-Datei basierend auf Größe).
<appender name="AUDITFILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PROJECT_HOME}\\projectname\\audits\\myproject.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${PROJECT_HOME}\\projectname\\audits\\myproject_%d{yyyy-MM-dd}.%i.zip
</fileNamePattern>
<maxHistory>10</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10KB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%date %msg%n
</pattern>
</encoder>
</appender>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie in der Dokumentation erwähnt für fileNamePattern, können Sie mehrere %d-Token so wie stellen Sie das Datum in den Namen des Ordners des Archivs mit dem Namen:
Beachten Sie, dass nur eine %d-token können primäre, alle anderen Zeichen markiert werden muss, als Hilfs-durch die übergabe der 'aux' - parameter.
Aber wenn Sie auch wollen, um es in den Datei-Namen des non-Archiv mit dem Namen, dann haben Sie zwei Möglichkeiten:
verwenden
<timestamp />
element um eine variable zu setzen, die Sie verwenden, in den Weg. Aber dieser timestamp wird nur einmal beim Start, so ist es gut für batch-Läufe, nicht aber für Dienstleistungen.Tun, wie (1) oben, aber wickeln Sie die
<appender/>
und die<timestamp />
mit einemSiftingAppender
, mit denen die Zeitstempel neu bewertet werden, wenn mit der version von logback >=1.0.12. Nicht sicher, wie genau Sie wollen, um zu konfigurieren Sie dieSiftingAppender
. Aber hoffentlich setzen Sie auf die richtige Spur.