在编写自定义TraceListener时,如何强制将写头、数据/消息和写脚作为一条谨慎的记录?具体地说,有问题的自定义跟踪程序写入非基于文件的源,例如数据库或事件流。我需要让TraceListener中的writeHeader,writefooter基础方法被忽略,或者以某种方式打包成一个单一的写事件。
发布于 2012-10-03 01:18:06
关于自定义TraceListener如何工作的Here is a good article,它还解释了何时以及如何调用WriteHeader和WriteFooter。避免WriteHeader和WriteFooter的诀窍显然是覆盖TraceData和/或TraceEvent调用。
在this SO thread中也有一些关于这个问题的讨论。
最后,我鼓励您研究一下Ukadc.Diagnostics它是一个非常酷的扩展System.Diagnostics的库,在其他特性中,它提供了一种很好的方法来实现一些类似log4net/NLog的输出格式化。在this SO thread中有一些关于这个库的讨论。
祝好运!
https://stackoverflow.com/questions/12685581
复制相似问题