Bestes XML-Format für Protokollereignisse in Bezug auf der Tool-Unterstützung für Data Mining und Visualisierung?

StackOverflow https://stackoverflow.com/questions/465329

Frage

Wir wollen in der Lage sein Protokolldateien aus unserer Java-Anwendung zu erstellen, die für die spätere Verarbeitung von Werkzeugen geeignet ist, um Fehler zu helfen, zu untersuchen und Performance-Statistiken zu sammeln.

Derzeit verwenden wir die traditionellen „Sachen einloggen, die und in eine Protokolldatei angehängt kann oder nicht in Textform abgeflacht werden“, aber das funktioniert am besten für kleine Mengen von Informationen von einem Menschen gelesen werden.

Nach sorgfältiger Prüfung die beste Wette hat die Log-Ereignisse als XML-Schnipsel in Textdateien speichern (die dann wie jede andere Protokolldatei behandelt wird), und sie dann mit dem geeigneten Werkzeug für die Nachbearbeitung an die Maschine herunterzuladen.

Ich möchte als weitgehend unterstützt ein XML-Format wie möglich verwenden, und jetzt bin ich in der „Forschungs-then-Make-Entscheidung“ Phase. Ich würde schätzen jede Hilfe sowohl in Bezug auf XML-Format und Tools, und ich würde gerne Glue-Code zu schreiben, zu bekommen, was ich brauche.

Was ich bisher gefunden habe:

log4j XML-Format: Unterstützt von Motorsäge und Vigilog. Lilith XML-Format: Unterstützt von Lilith

unerforscht Tools:

Microsoft Log Parser: Offenbar unterstützt XML. OS X Log Viewer:

plus gibt es eine Menge von Werkzeugen auf http: // www. loganalysis.org/sections/parsing/generic-log-parsers/

Irgendwelche Vorschläge?

War es hilfreich?

Lösung 5

Es scheint, dass der Lilith-Protokoll-Viewer enthält ein XML-Format, das für den Umgang mit den zusätzlichen Einrichtungen in logback und nicht nur die log4j Dingen gut geeignet ist.

Es ist - vorerst - die beste Wette so weit:)


I angepasst ist, die log4j xmllayout Klasse logback, die mit Kettensäge funktioniert.


Wie ich einen geeigneten Protokoll-Viewer nicht in der Lage gewesen fähig zu visualisieren Ereignisinformationen zu finden (statt nur alle Ereignisse in einer Tabelle präsentiert) Ich habe jetzt beschlossen, ein sehr knappes xml Layout parsable Informationen enthält Maschine basierend zu schaffen, auf dem über die dann von der Microsoft LogParser in ein beliebiges Format nachbearbeitet werden ich brauche.

Andere Tipps

Leider kann ich Ihnen nicht die Antwort, die Sie suchen, aber ich möchte Ihnen etwas warnen, zu berücksichtigen, wenn in XML anzumelden. Zum Beispiel:

<log>
 <msg level="info">I'm a log message</msg>
 <msg level="info">I'm another message</msg>
 <!-- maybe you won't even get here -->
 <msg level="fatal">My server just ate a flaming death

In dem obigen Schnipsel eines möglichen XML melden Sie sich den größten Nachteil der Protokollierung in XML sehen. Wenn ein katastrophales Versagen geschieht, wird Ihr Log-Format gebrochen, weil es Endtags erfordert. wenn Sie ein Programm verwenden, jedoch, dass die primäre Logausgabe parst, soll dies nicht zu viel von einem Problem.

Wenn Sie eine eigene XML-Protokolldatei Schreiben definieren, müssen Sie nicht darüber, dass ein Öffnen und Schließen-Tag, um sich Sorgen zu machen gültige XML zu erzeugen. Elijas Antwort ist richtig, dass Sie das Problem zu tun haben, wenn Sie ein XML erstellen mögen Dokument , aber das ist auf Anhieb nicht erforderlich. Das W3-Standard definiert auch XML Entities (siehe Abschnitt 4.3 der XML 1.0-Spezifikation des W3, zweite Ausgabe, die leider kann ich nicht für Sie verlinkt, weil ich nicht genug Punkte haben), die besser geeignet wäre, für log-Stil kontinuierliche Anfügen in eine Datei ohne Teile davon neu zu schreiben. Sie können dann ein Referenzierung XML-Wrapper-Dokument erstellen, wenn Sie mit einem tatsächlichen XML-Dokument arbeiten müssen, anstatt eine XML-Einheit (siehe http://www.perlmonks.org/?node_id=217788#217797 für ein Beispiel)

Eines der schönen Dinge in log4j ist, dass es schöner Möglichkeiten zum Anpassen der Protokollformate bietet und wo diejenigen geschrieben werden.

So anstatt einige Protokolldateiformate der Wahl, würde ich einige Protokollierung Bibliothek wählen, die das Format ändern können und ermöglicht auch das Protokoll direkt zu einem gewissen Programm zu bekommen.

Ich würde raten Sie betrachten logback-Zugang für Veranstaltungen.

Other than that, etwas JMX verwenden, wie es gemacht wurde das Feature-Set von SNMP entsprechen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top