So protokollieren Sie den Stack-Trace mit log4net (C #)
Wie Protokoll-stack trace mit log4net? Ich bin mit .net-version.
Diese Weise, die ich habe, ist, Melden.Fehler(ex).
Dank
InformationsquelleAutor der Frage CoolArchTek | 2012-02-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden:
Grund ist in der log4net-Dokumentation für
void Error(object message)
:Error(object message, Exception t)
ist der flexibelste Weg, um log-Ausnahme-Daten, da geht es als Ausnahme und nicht als Objekt und verwendet werden können appenders zu schmal Protokolle zu einer bestimmten exception-Klasse (eher als durch die Suche nach einer Zeichenfolge, die wesentlich langsamer und weniger konsequent)Gibt es spezielle Versionen, die alle nicht-format-logging-Methoden, die Nachricht und Ausnahme:
InformationsquelleAutor der Antwort Maciej D.
Müssen Sie sicherstellen, dass die definition der layout-Muster ist so aufgebaut, dass die Ausgabe, in welchem format und Daten, die Sie wollen.
log4Net Muster-Layout
Ausgabe verwendet das format: type3.MethodCall3 > Typ2.MethodCall2 > Typ1.MethodCall1
Dieses Muster ist nicht für Compact Framework-Assemblys.
InformationsquelleAutor der Antwort Lloyd
Es gibt zwei grundlegende Arten, eine, die nimmt ein Objekt und es wird eine Ausnahme explizit:
Und eine, die jedem Objekt und führt eine
ToString()
:Den ehemaligen ermöglicht Ihnen das Anhängen einer sinnvollen Nachricht auf den Protokolleintrag aus, den ersten zu geben, alle zusätzlichen Details, die Sie möchten. Letzteres wird den job tun, aber druckt nur die Ausnahme details mit
ToString()
die gibt Sie:InformationsquelleAutor der Antwort James Michael Hare
Nur
try ... catch
dieexception
und zu geben, dass die exception in der logging-Methode:Diese überlastung implizit ruft die ToString () - Methode der Ausnahme, dass die Drucke auf dem Aufruf-stack in Ihrem log.
InformationsquelleAutor der Antwort Jens H
Verlängern Sie die ILog eine Methode, die logs nur eine Ausnahme ist mit seinem stack trace.
InformationsquelleAutor der Antwort Valentin