2012-10-02 196 views
2

在編寫自定義TraceListener時,我該如何強制writeheader,data/messsage和writefooter成爲一個謹慎的記錄?具體來說,有問題的自定義tracelisteners會寫入非基於文件的源,例如數據庫或事件流。我需要將writeHeader,TraceListener中的writefooter基方法忽略或以某種方式打包成單個寫事件。TraceListener頁眉和頁腳

回答

3

Here is a good article關於如何定製TraceListener的工作,這也解釋了何時和何時調用WriteHeaderWriteFooter。避免WriteHeaderWriteFooter的技巧顯然是要覆蓋TraceData和/或TraceEvent調用。

this SO thread中對此問題也有一些討論。

最後,我鼓勵你看看Ukadc.Diagnostics這是一個非常酷的庫,用於擴展System.Diagnostics,並提供了一些很好的方法來實現一些log4net/NLog類型的輸出格式。關於這個庫在this SO thread有一點討論。

祝你好運!

+0

thx爲文章,TraceData方法的好東西。 – BozoJoe

+0

偉大的文章。值得一讀的是GetSupportedAttributes部分。 –