2014-08-29 57 views
0

我有一个非常非常基本的C#问题有关在控制台上记录调试跟踪消息。为了将跟踪消息重定向到控制台,我们可以使用将调试消息记录到控制台在c#

Trace.Listeners.Add(new ConsoleTraceListener()); 

我期待着类似于将调试消息记录到控制台的东西。

//Debug.Listeners.Add(new ConsoleDebugListener()); //does not exist 
    Debug.Listeners.Add(new ConsoleTraceListener()); 

所以这个名字没有区别,或者我错过了一些东西。

编辑

我只是想知道,如果像ConsoleDebugListener或类似的东西存在与否。它跟踪跟踪器虽然。

+0

它适用于我。你确实在运行控制台应用程序的DEBUG版本吗? – 2014-08-29 10:18:58

+0

我知道它的作品...为什么问题是,为什么类似的东西不存在调试列表器。 – harishr 2014-08-29 10:20:23

回答

1

ConsoleTraceListener是一个处理如何编写消息的类;即使它包含Trace它也不是System.Diagnostics名称空间中Trace类的唯一输出方法。

如果你想真正找到为什么ConsoleTraceListener作品都DebugTrace,那是因为他们都在内部使用的TraceInternal类,然后将消息发送到它所包含的听众。也许这是一个好足够的理由为初始听众都被称为*Trace*EventLogTraceListenerXmlWriterTraceListener,等...)

有趣的是,听众DebugTrace之间共享,因为它们都返回TraceInternal财产。

+0

很棒。非常感谢。我只是有点好奇,没有别的。有些工作,但如果它有一点点怪癖,想找出原因。非常感谢您的详细解答。 – harishr 2014-08-29 10:25:18