诊断,在哪里读取Trace.TraceInformation?

时间:2016-12-23 10:03:30

标签: c# .net system.diagnostics

Trace.AutoFlush = true;
Trace.TraceInformation(string.Format("Try starting: {0}", System.Reflection.Assembly.GetExecutingAssembly().GetName()));
Trace.Flush();

我看过:How to Check the Application Event Log for Errors

但我找不到任何痕迹!我做错了什么?

1 个答案:

答案 0 :(得分:3)

Trace可以输出到多个侦听器。

这些可以包括debug(visual studio),文件甚至数据库监听器。

默认情况下,Trace会输出到Visual Studio output window

本文介绍如何配置文件跟踪侦听器:How to: Create and Initialize Trace Listeners

  

System.Diagnostics.Debug和System.Diagnostics.Trace类将消息发送到接收和处理这些消息的称为侦听器的对象。在启用跟踪或调试时,会自动创建并初始化一个此类侦听器System.Diagnostics.DefaultTraceListener。如果要将Trace或Debug输出定向到任何其他源,则必须创建并初始化其他跟踪侦听器。

通过app.config:

<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>

或通过代码:

Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener"));

如果您想登录事件日志,则可以使用Event Log Trace Listener

相关问题