TraceListener-Kopf- und Fußzeilen
-
12-12-2019 - |
Frage
Wie kann ich beim Schreiben eines benutzerdefinierten TraceListeners erzwingen, dass der Writeheader, die Daten/Nachricht und der Writefooter ein einzelner Datensatz sind?Insbesondere schreiben die betreffenden benutzerdefinierten Tracelistener in eine nicht dateibasierte Quelle, z. B. eine Datenbank oder einen Ereignisstream.Ich muss entweder die Basismethoden writeHeader und writefooter in TraceListener ignorieren oder sie irgendwie in ein einzelnes Schreibereignis packen.
Lösung
Hier ist ein guter Artikel darüber, wie Brauch TraceListener
s Arbeit, die auch erklärt, wann und wann WriteHeader
Und WriteFooter
werden genannt.Der Trick zum Vermeiden WriteHeader
Und WriteFooter
soll offenbar das außer Kraft setzen TraceData und/oder TraceEvent Anrufe.
Es gibt auch einige Diskussionen zu diesem Thema in dieser SO-Thread.
Abschließend möchte ich Sie ermutigen, einen Blick darauf zu werfen Ukadc.Diagnostics Es ist eine ziemlich coole Bibliothek zum Erweitern System.Diagnostics
und bietet neben anderen Funktionen eine gute Möglichkeit, eine log4net/NLog-ähnliche Ausgabeformatierung zu erreichen.Es gibt eine kleine Diskussion über diese Bibliothek in dieser SO-Thread.
Viel Glück!