Log4Net: Schreiben Sie ein C# - Objekt (abgesehen von der Ausnahme) zu dem log?
Habe ich gesehen in Log4Net schreiben Sie bitte eine Nachricht, und übergeben Sie als zweiten parameter die Ausnahme-Objekt.
Ist es möglich, eine andere Art von Objekt zu log4net, so kann ich sehen, wie die Werte in meinem log von meinem Objekt?
Wenn ich eine Instanz einer Klasse, die ist eingetragen und ich ging an das die Instanz gesendet werden zusammen angemeldet sein,
Ist, ist das überhaupt möglich?
Ich würde lieben zu sehen ein tutorial, aber kann nicht scheinen, einen zu finden
Jede Hilfe wirklich dankbar
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie implementieren Sie einen benutzerdefinierten Formatierer. (Versuchen Sie Googeln zuerst zu sehen, ob jemand hat etwas, das passt Ihr Szenario).
Könnte man immer schreiben es selbst, das gibt ein wenig Kontrolle. Sie können Reflexion, um den Typ des Objekts, die Eigenschaften und schreiben Sie Sie aus, wie Debug oder Info.
Könnte man weiter verlängern, die Methode, mit der man die Eigenschaften nur schreiben, was Sie wollen, und führen Sie rekursiv n-Ebenen tief in das Objekt ein, oder bis es hat keine Eigenschaften.
Die verschiedenen Methoden der
ILog
Schnittstelle akzeptieren ein Objekt als "message" - parameter, also der einfachste Weg, um ein Objekt "geschrieben", die von log4net ist die Umsetzung einerToString()
Methode.Andere Möglichkeit wäre, um eine
IObjectRenderer
Umsetzung. Ich bin nicht sicher, wie Sie Sie registrieren diese in einer Konfigurationsdatei, aber diese zeigt, wie es zu tun ist code.Wenn Sie das Objekt als separate Einheit in einem appender dann sollten Sie protokollieren von Ereignis-Kontext (funktioniert auch gut mit einem
ToString()
Umsetzung.