Fehlerbehandlung / Protokollierungsstrategie

7

Könnten Sie Ihr Wissen über Fehlerbehandlung / Protokollierungsstrategie für webbasierte ASP.NET 3.5-Anwendungen teilen?

    
Jeremy Thomson 19.02.2009, 17:36
quelle

4 Antworten

2

Sie sollten log4net in Erwägung ziehen. Siehe diese Frage für weitere Informationen.

Es ist sehr robust, schnell und einfach zu bedienen.

    
Geoff 19.02.2009 17:39
quelle
2

Wenn ein Fehler auftritt, sollten Sie nicht versuchen, ihn abzufangen oder direkt im Code Ihrer Anwendung zu protokollieren, es sei denn, es handelt sich um einen Fehler, von dem Sie hoffen können, dass er wiederhergestellt wird. Wenn Sie beispielsweise über eine datengesteuerte Webanwendung verfügen und die Datenbank offline ist, können Sie die Daten nicht wiederherstellen. Wenn Sie jedoch eine E-Mail senden und zwei E-Mail-Server haben und der erste nicht erreichbar ist, können Sie möglicherweise den zweiten E-Mail-Server wiederherstellen.

Ich habe viele ASP.NET-Anwendungen gesehen, in denen Entwickler try...catch blocks benutzt haben, um Fehler zu "schlucken". In Wirklichkeit werden try...catch Blöcke nur verwendet, wenn eine bekannte Wiederherstellungsstrategie im Falle eines Fehlers vorliegt (z. B. die Verwendung eines alternativen E-Mail-Servers in meinem früheren Beispiel). Wenn Sie mehr als eine Handvoll try...catch Blöcke in Ihrer Anwendung haben, tun Sie wahrscheinlich falsch.

Der Grund, warum Sie die Verwendung von try...catch -Blöcken vermeiden möchten, ist, dass Ihre Fehlerprotokollierung und Benachrichtigung orthogonal zu Ihrer Anwendung sein soll. Sie möchten den Fehlerprotokollierungscode nicht auf jeder Seite oder in jeder Komponente ausschneiden und einfügen. Stattdessen möchten Sie einen Mechanismus hinzufügen, so dass jede nicht behandelte Ausnahme automatisch protokolliert wird und Entwickler automatisch benachrichtigt werden.

Die gute Nachricht ist, dass solche Fehlerprotokollierungs- und Benachrichtigungsfunktionen ziemlich einfach zu implementieren sind. Ich bevorzuge ELMAH , ein kostenloses Open-Source-Fehlerprotokollierungs- und Benachrichtigungssystem. Alternativ können Sie das integrierte Fehlerprotokollierungssystem von ASP.NET, Health Monitoring , verwenden.

Weitere Informationen zu ELMAH und der Gesundheitsüberwachung sowie Anleitungen zu benutzerdefinierten Fehlerseiten und zur Einrichtung aller Funktionen finden Sie in meinem Artikel Ausnahmebehandlungshinweis für ASP.NET-Webanwendungen .

Glückliche Programmierung!

    
Scott Mitchell 29.10.2010 22:00
quelle
0

Ich werde Java-agnostisch sein, und ich werde das Dokument von OWASP hinzufügen - offenes Webanwendungssicherheitsprojekt. Ich implementiere eine Protokollierungs- / Fehlerbehandlungsrichtlinie und es war wirklich nützlich.

Eine weitere gute Frage, die hier bereits bei stackoverflow beantwortet wurde: * Was sind die besten Methoden, um einen Fehler zu protokollieren? >

    
VP. 29.10.2010 21:39
quelle

Tags und Links