gpt4 book ai didi

c# - 了解 Trace 在 C# 中的工作原理

转载 作者:可可西里 更新时间:2023-11-01 09:11:07 29 4
gpt4 key购买 nike

我想了解 Tracing 是如何工作的

我创建了一个简单的新 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 link 中寻求帮助

我的web.config中的设置如下

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

然而,当我运行这段代码时,我不知道这个日志记录发生在哪里没有发生。

谁能解释一下这是如何工作的。

最佳答案

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

关于c# - 了解 Trace 在 C# 中的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220837/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com