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.

War es hilfreich?

Lösung

Hier ist ein guter Artikel darüber, wie Brauch TraceListeners 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!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top