Analysieren einer log4j-Protokolldatei
Wir haben mehrere Anwendungen, die Verwendung von log4j für das logging. Ich brauche, um eine log4j-parser zu arbeiten, so können wir kombinieren mehrere log-Dateien, und führen Sie automatisierte Analyse auf Sie. Ich bin nicht auf der Suche, das Rad neu zu erfinden, so jemand kann mir eine anständige pre-bestehenden parser? Ich habe die log4j conversion-Muster, wenn das hilft.
Wenn nicht, werde ich rollten unsere eigenen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich wusste gar nicht, dass Log4J Schiffe mit einer XML appender.
Lösung war: geben Sie eine XML appender in die logging-Konfiguration-Datei aufnehmen, die Ausgabe-XML-Datei als Element in eine wohlgeformte XML-Datei und parse die XML-Daten mit Ihrem Lieblings-Technik.
Den anderen Methoden hatte die folgenden Einschränkungen:
Können Sie OtrosLogViewer mit batch-Verarbeitung. Sie müssen:
Was du suchst heißt Sägewerk, oder etwas wie es.
Log4j-log-Dateien sind nicht wirklich geeignet für die Analyse, Sie sind zu Komplex und unstrukturiert. Es gibt Drittanbieter-tools, das kann es, glaube ich (z.B. Sägewerk).
Wenn Sie brauchen, um automatisierte, kundenspezifische Analyse der Protokolle, sollten Sie die Protokollierung in einer Datenbank und die Analyse, dass. JDBC-Schiffe mit der
JdbcAppender
, die hängt alle Nachrichten in einer Datenbank Ihrer Wahl, aber es hat Auswirkungen auf die Leistung, und es ist ein bisschen schuppig. Es gibt andere, ähnliche, alternativen auf der interweb, obwohl (wie diese eine).You-can - use-Log4j ' s Chainsaw V2 zur Abwicklung der verschiedenen log-Dateien und sammeln Sie in einer Tabelle, und entweder Ausgang dieser Ereignisse als xml oder verwenden Sie die Kettensäge eingebaute expression-basierte Filterung, Suche & einfärben der Unterstützung slice & Würfel der Protokolle.
Schritte:
- Starten Sie Die Kettensäge V2
- Erstellen Sie eine Kettensäge Konfigurations-Datei durch kopieren der Beispiel-Konfigurationsdatei verfügbar von der Willkommen-tab - definieren Sie eine LogFilePatternReceiver 'plugin' - Eintrag für jede log-Datei, die Sie Bearbeiten möchten
- Starten Sie die Kettensäge mit dieser Konfiguration
- Jeder log-Datei wird am Ende als eine separate Registerkarte in der Benutzeroberfläche
- Pause-die Kettensäge-log-Registerkarte, und deaktivieren Sie die Ereignisse aus, die Registerkarte
- Erstellen Sie eine neue Registerkarte, die verbindet die Ereignisse aus den verschiedenen Registerkarten, indem Sie unter "Ansicht, crate custom Ausdruck logpanel' im Menü und geben Sie "Ebene >= DEBUG" in das Feld. Es wird eine neue Registerkarte mit Veranstaltungen aus allen Registerkarten mit Niveau >= debug (das ist, warum Sie deaktiviert die Kettensäge-Registerkarte "Protokoll").
Können Sie sich einen überblick über die expression-syntax verwendet, um zu filtern, färben und Suche aus dem tutorial (das Hilfe-Menü).
Wenn Sie nicht möchten, zu verwenden, Kettensäge, Sie können etwas ähnliches tun - starten Sie eine einfache app, die nicht log, sondern lädt ein log4j.xml config-Datei mit den 'plugin' - Einträge, die Sie definiert für die Kettensäge-Konfiguration, aber auch durch die Definition einer FileAppender mit einem xmllayout - alle Ereignisse erhalten durch den "Empfänger" gesendet werden zu den einzelnen appender.