Die Funktionalität, die ich brauche ist Schreiben einer Kopfzeile am Anfang der konfigurierten Protokolldatei. Die Protokolldatei sollte zusätzlich über basierend auf einem Zeitmuster (ich spreche Logback 1.0.7) gerollt werden.Benutzerdefinierte Logback Appender - Voranstellen Datei Header und es Rollover
Also, ich denke, ein Appender schreiben - obwohl ich nicht sicher bin, ob es nicht ein benutzerdefinierte -Layout ist, die mich wirklich brauchen.
1) Appender
Per logback in der Dokumentation, der richtige Ansatz ist AppenderSkeleton
, zu verlängern, aber dann, wie würde ich kombinieren dies mit dem RollingFileAppender
(um die Datei zu Roll machen?)
Auf der anderen Hand, wenn ich erweitern RollingFileAppender
, welche Methode überschreibe ich, um nur die vorhandene Funktionalität zu dekorieren? Wie sage ich, dass diese bestimmte Zeichenfolge nur am Anfang der Datei geschrieben wird?
2) Layout-
Analog scheint der Ansatz LayoutBase
zu erstrecken, und eine Implementierung für doLayout(ILoggingEvent event)
bereitstellt. Aber wieder, ich weiß nicht, wie man das Verhalten nur schmücken - nur eine neue Zeile in der Datei hinzufügen, anstatt die Funktionalität zu stören (weil ich immer noch möchte, dass der Rest der Protokolle ordnungsgemäß angezeigt wird). Die getFileHeader()
in LayoutBase
sieht vielversprechend aus, aber wie benutze ich sie? Soll es sogar von benutzerdefinierten Layouts überschrieben werden? (wahrscheinlich ja, da es Teil der Layout-Oberfläche ist, aber dann wie?)
Vielen Dank!
@teo wissen Sie, wie können wir benutzerdefinierte Eigenschaft in logback.xml in Startmethode jeder benutzerdefinierten Appender Klasse definiert werden? – Mihir