System.Diagnostics.Debug 和 System.Diagnostics.Trace 类向接收和处理消息的对象(成为侦听器)中发送消息。 在启用跟踪或调试后将自动创建并初始化一个如上所述的侦听器 System.Diagnostics.DefaultTraceListener。 如果要将 Trace 或 Debug 输出定向到任何其他源,则必须创建并初始化其他跟踪侦听器。
所创建的侦听器应反映应用程序的需要。 例如,如果想要获取所有跟踪输出的文本记录,则创建 TextWriterTraceListener 侦听器;启用后,它会将所有输出都写入新的文本文件中。 另一方面,如果想要仅在应用程序执行过程中查看输出,则创建 ConsoleTraceListener 侦听器,以便将所有输出定向到控制台窗口。 EventLogTraceListener 可以将跟踪输出定向到事件日志。 有关详细信息,请参阅跟踪侦听器。
可以在应用程序配置文件或代码中创建跟踪侦听器。 我们建议使用应用程序配置文件,因为它们可在不更改代码的情况下添加、修改或删除跟踪侦听器。
若要使用配置文件创建和初始化跟踪侦听器
-
请声明应用程序配置文件中的跟踪侦听器。 如果创建的侦听器需要的任何其他对象,请同时对它们进行声明。 下面的示例演示如何创建名为myListener 的侦听器,它将写入到文本文件 TextWriterOutput.log 中。
<configuration> <system.diagnostics> <trace autoflush="false" indentsize="4"> <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" /> <remove name="Default" /> </listeners> </trace> </system.diagnostics> </configuration>