7 Stimmen

Bewährte Praktiken für die Protokollierung zusätzlich zu den Protokollierungsebenen

Im Allgemeinen können die Protokollierungsebenen umgeschaltet werden, um verschiedene Stufen von detaillierten Protokollen zu erhalten. In der Regel kann die niedrigste Protokollstufe dabei helfen, den Bereich des Codes zu identifizieren, in dem ein Fehler auftreten könnte. Um weiter zu debuggen, erhöht man normalerweise die Debug-Stufe, um mehr Informationen zu erhalten. Dies führt jedoch zu einer unnötig großen Menge an Protokollen, die nichts mit dem Problem zu tun haben.

Die Frage ist: Was sind die besten Praktiken zu diesem Thema? eine andere Dimension von Protokollen definieren? Nach Logikbereich, Methoden oder anderem?

EDIT: Dies stammt aus einem realen Projekt, bei dem die Anwendung in einer Kundenumgebung implementiert wurde, und wenn etwas schief geht, ist das Protokoll das, was sie zur Fehlersuche einsenden. Sie hassen es definitiv, große Mengen an Protokollen zu senden, oder sie analysieren/parsen sie selbst: Normalerweise sind es nicht-technische Kunden. Ich vermute, dass dies mit der Frage zusammenhängt, wie man die Effizienz der Protokollierung in dieser Situation verwalten kann. Bitte hinterlassen Sie einen Kommentar, wenn die Eröffnung eines weiteren Threads sinnvoller ist. Vielen Dank!

3voto

slugster Punkte 48412

Sie können verschiedene Hörer für verschiedene Teile Ihrer Anwendung verwenden. Aber wahrscheinlich ist das Beste, was Sie verwenden können, die Microsoft Log Parser das Ihnen die Möglichkeit gibt, Abfragen über Ihre Protokolldatei durchzuführen, z. B. können Sie ein SELECT über die Daten in einer Textprotokolldatei ausführen. Probieren Sie es aus, es ist wirklich ein sehr leistungsfähiges Werkzeug.

2voto

Mike Valenty Punkte 8755

Wenn Sie große Mengen an Protokollen haben, können Sie diese nach Funktionsbereichen aufteilen, wie z. B. NHibernate verwendet log4net . Beispiel:

NHiberate (Wurzel)
NHibernate.Loader
NHibernate.Cache
NHiberante.SQL
...

Auch mit einer guten Bibliothek wie log4j/net können Sie einen rollenden Protokolldateianhänger verwenden, den Sie leicht so konfigurieren können, dass er Ihre Festplatte nicht überlastet. Sie können ihn z. B. so konfigurieren, dass er eine Protokolldatei mit einer Größe von bis zu 10 MB erzeugt, dann bis zu 10 Mal in eine andere Datei rollt und dann zur ersten Datei zurückkehrt und sie überschreibt.

0voto

Glenn Punkte 7588

Sie haben bereits die Protokollierung nach Ebenen erwähnt. Hier sind die Protokollierungsebenen die vom java.util.logging-Paket zur Verfügung gestellt werden und sehr effektiv sind, um den Umfang der Protokollmeldungen je nach Bedarf zu steuern (Trendanalyse vs. Fehlersuche).

Eine weitere Dimension der Protokollierung besteht darin, nach Ereignissen zu protokollieren und diese Ereignisse in eine Art ziemlich flacher Hierarchie zu kategorisieren. Lesen Sie diesen Artikel über Protokollierung zu Analysezwecken für weitere Informationen wie die Verwendung von Scribe und Hadoop.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X