2017-02-12 4 views
2

Ich verwende Elmah, um Ausnahmen zu behandeln. Jetzt sind meine Bedürfnisse erhöht worden und ich möchte einige Warnungen nach einigen Aussagen wie NLog protokollieren.So melden Sie Warnungen mithilfe von Elmah

Hier möchte ich Daten in SQL-Datenbank hinzufügen. Ich möchte auch eine Spalte in der elmh-Tabelle hinzufügen, die mir sagt, welche Zeile zum Fehler gehört und welche zur Warnung gehört, weil ich sie separat rendern muss. Eg. ElmahError.axd und ElmahWarn.axd.

Ich muss möglicherweise elmah Klasse überschreiben, um dies zu erreichen, aber gibt es eine andere Bibliothek, die beide Funktionen, Fehlerbehandlung und Protokollierung gibt? Was ist der beste Weg, dies zu tun?

Antwort

1

Wenn Sie Warnungen in ELMAH protokollieren möchten, müssen Sie sie als Ausnahme protokollieren. Sie können eine benutzerdefinierte Ausnahme mit dem Namen WarningException oder etwas erstellen. Damit ist ELMAH für Fehler geschaffen und passt nicht wirklich gut zu anderen Schwerpunkten.

Das Hinzufügen von benutzerdefinierten Daten zu ELMAH ist ebenfalls nicht möglich. Es sei denn, Sie gabelten die ELMAH source code und erstellen natürlich einen benutzerdefinierten Build. Sie müssen die Klasse Error unter anderen erweitern.

Ich bin der Gründer der cloud-based error management system elmah.io. Wir unterstützen alle Schweregrade, die von anderen Protokollierungs-Frameworks bekannt sind. Mit meinen Erfahrungen bei der Entwicklung von elmah.io werde ich Ihnen empfehlen, ELMAH zu verwenden, wofür es gut ist (Protokollierungsfehler) und es mit einem Protokollierungsrahmen Ihrer Wahl zu kombinieren. Wir verwenden Serilog, um eine strukturierte Protokollierung in Elasticsearch zu erhalten, aber auch NLog, log4net usw. sollten diese Aufgabe übernehmen.

+0

Danke für den Vorschlag. Ich plane, Quellcode von Elmah in meiner Anwendung nach meinen Bedürfnissen zu ändern. Von wo kann ich Quelle herunterladen? Ich habe versucht, Link, aber das hat nicht funktioniert. –

+0

Der Link in meiner Antwort ist für das GitHub-Projekt. Einfach den Git Repo klonen. – ThomasArdal

Verwandte Themen