了解跟踪是如何工作的C#(Understanding how Trace works in C#)

2019-07-30 03:34发布

我想了解如何跟踪工作

我创建了一个简单的新的Web项目。 这是我的代码,我可以用

// Create a trace listener for the event log.
EventLogTraceListener myTraceListener = new EventLogTraceListener("myEventLogSource");

// Add the event log trace listener to the collection.
Trace.Listeners.Add(myTraceListener);

// Write output to the event log.
Trace.WriteLine("Test output");

我以帮助,从这个MSDN链接

在我的web.config中的设置如下:

 <system.diagnostics>
 <trace autoflush="false" indentsize="4">
  <listeners>
    <add name="myListener"
      type="System.Diagnostics.EventLogTraceListener"
      initializeData="TraceListenerLog" />
  </listeners>
 </trace>
</system.diagnostics>

然而,当我运行此代码,我不知道这个记录正在发生的事情我检查事件查看器,在“应用程序和服务日志”我期待一些新的日志,名为“myEventLogSource”创建但是这并没有发生。

请任何人都可以解释我是如何工作的。

Answer 1:

在如果你有两个来源是书面方式向应用程序日志,应用程序日志检查,一个是TraceListenerLog,另一种是myEventLogSource。 新的日志不会被创建,他们都将使用应用程序日志。 如果你想创建一个新的日志,你想跟踪输出写入它,你可以做这样的(当然,登录名不必等于源名称):

        string logSource = "_myEventLogSource";
        if (!EventLog.SourceExists(logSource))
            EventLog.CreateEventSource(logSource, logSource);

        EventLogTraceListener myTraceListener = new EventLogTraceListener(logSource);

        // Add the event log trace listener to the collection.
        System.Diagnostics.Trace.Listeners.Add(myTraceListener);

        // Write output to the event log.
        System.Diagnostics.Trace.WriteLine("Test output");

即使源就不会存在,跟踪信息将被写入到应用程序日志与已传递给EventLogTraceListener构造源名下的事件日志。



文章来源: Understanding how Trace works in C#
标签: c# trace