我使用的是EntLib 5.0 Logging Application Block。我创建了一个CustomTraceListener
,在测试它时,我注意到每次我使用Logger.Write()
进行日志记录时,我的侦听器的Write()
方法都会用
一般信息:0:
,然后使用TextFormatter生成的预期和所需的日志内容调用WriteLine()
方法
我不明白为什么我收到第一个"General Information: 0:"消息。
谁知道如果这是控制在配置的某个地方?
在调查为什么没有使用TextFormatter时,我阅读了更多关于自定义TraceListener实现的内容,并了解到您还需要覆盖TraceData方法:
public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data)
一旦我实现了该方法的"一般信息"消息停止发生和我的TextFormatter与它的自定义模板字符串被使用。一切都好!