我是TraceSource的新手,所以我正在调查它如何可以/不能被使用(基本上是优点和缺点)。
我喜欢的是,我可以从.NET framework本身中获取转储,因此我制作了一个小应用程序来测试这一点,并一起使用我自己的自定义源(我希望它能被使用),如下所示:
class Program
{
static void Main(string[] args)
{
SmtpClient smtp = new SmtpClient();
var mm = new MailMessage();
mm.To.Add("me@my-site.com");
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>
MyCustomTracer
SmtpClient
东西(即只使用我的自定义跟踪器)。
我本以为多个TraceSource可以以我尝试使用它们的方式使用,但我不确定出了什么问题。