我有一个关于在控制台上记录调试跟踪消息的非常基本的c#问题。要将跟踪消息重定向到控制台,我们可以使用
Trace.Listeners.Add(new ConsoleTraceListener());
我期待将调试消息记录到控制台时存在类似的东西。
//Debug.Listeners.Add(new ConsoleDebugListener()); //does not exist
Debug.Listeners.Add(new ConsoleTraceListener());
所以这个名字没有什么区别,或者我错过了什么。
修改
我只是想知道是否存在类似 ConsoleDebugListener 之类的东西。它适用于跟踪侦听器。
答案 0 :(得分:1)
ConsoleTraceListener
是一个处理如何编写消息的类;即使它包含Trace
,它也不是Trace
命名空间中System.Diagnostics
类的独占输出方法。
如果您想真正找到ConsoleTraceListener
对Debug
和Trace
都有效的原因,那是因为它们都在内部使用TraceInternal
类,然后发送消息给它包含的侦听器。也许这足以让初始听众被称为*Trace*
(EventLogTraceListener
,XmlWriterTraceListener
等......
有趣的是,听众在Debug
和Trace
之间共享,因为他们都返回TraceInternal
属性。