2

在编写自定义 TraceListener 时,如何强制 writeheader、数据/消息和 writefooter 成为一个谨慎的记录?具体来说,有问题的自定义跟踪侦听器写入非基于文件的源,例如数据库或事件流。我需要忽略 TraceListener 中的 writeHeader、writefooter 基本方法,或者以某种方式将其打包到单个写入事件中。

4

1 回答 1

3

这是一篇关于 custom 如何TraceListener工作的好文章,它还解释了何时、何地WriteHeader以及WriteFooter被调用。避免WriteHeader并且WriteFooter显然是覆盖TraceData和/或TraceEvent调用的技巧。

在这个 SO thread中也有一些关于这个问题的讨论。

最后,我鼓励您看看Ukadc.Diagnostics,它是一个非常酷的扩展库System.Diagnostics,除其他功能外,它还提供了一种实现类似 log4net/NLog 输出格式的好方法。在这个 SO 线程中有一些关于这个库的讨论。

祝你好运!

于 2012-10-02T17:18:06.473 回答