了解Trace如何在C#中工作

我试图了解跟踪是如何工作的

我创建了一个简单的新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中的设置如下

         

但是,当我运行此代码时,我不知道这个日志记录发生在哪里我检查了事件查看器,在“应用程序和服务日志”下,我期望创建一个名为“myEventLogSource”的新日志但是没有发生。

请任何人解释我这是如何工作的。

在Application log下,检查是否有两个写入Application日志的Source,一个是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构造函数的源名称。