0
我是TraceSource的新成員,因此我正在對它如何使用/不能使用(基本上有利有弊)進行一些調查。定義多個未運行的TraceSources
我喜歡的是,我可以從.NET框架本身獲得轉儲,所以我做了一個小應用程序來測試它並使用我自己的自定義源代碼(因爲這是我期望的使用),像這樣:
class Program
{
static void Main(string[] args)
{
SmtpClient smtp = new SmtpClient();
var mm = new MailMessage();
mm.To.Add("[email protected]");
mm.Subject = "Trace Testing";
smtp.Send(mm);
var ts = new TraceSource("MyCustomTracer");
ts.TraceEvent(TraceEventType.Error, 0, "This is an error");
ts.TraceEvent(TraceEventType.Information, 0, "Just debugging now");
}
}
,我加入了一些聽衆到App.config
這樣的:
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="MyCustomTracer"
switchValue="Information, ActivityTracing">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "traceOutput.log" />
</listeners>
</source>
<source name="System.Net"
switchValue="Information, ActivityTracing, Critical">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "traceOutput.log" />
</listeners>
</source>
</sources>
</system.diagnostics>
但由於某些原因,當我運行的應用程序中的2個事件,我記錄通過MyCustomTracer
不會進入日誌文件,除非我註釋掉SmtpClient
東西(即 - 只有我的自定義示蹤劑使用)。
我原本以爲可以以我嘗試使用它們的方式使用多個TraceSources,我只是不確定發生了什麼問題。