2017-10-23 4 views
2

Ist es sinnvoll, Logging-Anweisungen in einen try/catch zu packen? Ich verwende Log4net als:Können wir Log4Net Log Statement in einen Versuch/Catch?

LogManager.GetLogger(type).Debug(message, exception) 

Log4net Um zu verhindern, eine Ausnahme zu werfen (ich weiß, sein nicht-stop, immer noch) oder die Anwendung zu verhindern, falls die Protokollierung Logik eine Ausnahme vor einem Absturz führt, macht es Sinn, den Anruf in einen Versuch/Fang zu wickeln?

Auch auf der Suche nach Empfehlungen, was in der Fangklausel passieren sollte, falls eine Exception gefangen wird.

+1

log4net löst keine Ausnahmen aus. Wie in der Dokumentation steht _ "Wenn log4net aus irgendeinem Grund eine nicht abgefangene Ausnahme auslöst (mit Ausnahme von ArgumentException und ArgumentNullException, die ausgelöst werden können), senden Sie bitte eine E-Mail an die Mailingliste [email protected] ** Uncaught exceptions werden als schwerwiegende Fehler behandelt, die sofortige Aufmerksamkeit erfordern. ** "_ – stuartd

Antwort

2

Log4net wird niemals eine Ausnahme von Entwurf werfen. Log4Net wurde entwickelt, um nicht mit Ihrem Programmablauf zu interagieren. Dinge, die schiefgehen können, sind Fehler bei der Formatierung Ihrer Parameter. Aber log4net selbst sollte nie eine Ausnahme auslösen.

Log4net FAQ:

ist ein zuverlässiges Logging-System log4net? Nein, log4net ist nicht zuverlässig. Es ist ein Best-Effort- und Fail-Stop-Protokollierungssystem. Mit Ausfallsicherung meinen wir , dass log4net keine unerwarteten Ausnahmen zur Laufzeit auslöst, was möglicherweise zum Absturz Ihrer Anwendung führen kann. Wenn aus irgendeinem Grund log4net eine nicht abgefangene Ausnahme auslöst, senden Sie bitte eine E-Mail an die Mailing-Liste [email protected], . Nicht erfasste Ausnahmen werden als schwerwiegende Fehler behandelt, die sofortige Aufmerksamkeit erfordern.

Verwandte Themen