您可以使用
源交换机
它允许您
跟踪不同级别的消息
。首先将一些设置添加到
app.config
<system.diagnostics>
<sources>
<source name="TraceTest" switchName="SourceSwitch"
switchType="System.Diagnostics.SourceSwitch">
<listeners>
<!-- choose one or use multiple TraceListeners -->
<add name="console" type="System.Diagnostics.ConsoleTraceListener"
initializeData="false"/>
<add name="file" type="System.Diagnostics.TextWriterTraceListener"
initializeData="error.log"/>
<remove name ="Default"/>
</listeners>
</source>
</sources>
<switches>
<!-- MSDN: 4 verbose Information, Information 3, Warning 2, Error 1, -->
<add name="SourceSwitch" value="Error"/>
</switches>
<trace autoflush="true" indentsize="4"/>
</system.diagnostics>
在应用程序中,您可以使用
TraceSource
引用app.config中定义的名称的对象
TraceSource ts = new TraceSource("TraceTest");
ts.TraceEvent(TraceEventType.Information, 123, "event info");
ts.TraceEvent(TraceEventType.Error, 123, "event error");
ts.TraceEvent(TraceEventType.Warning, 123, "event warning");
ts.TraceInformation("any text");
ts.Flush();
ts.Close();
有关一些常见信息,请查看
How to: Use TraceSource ...
在MSDN上。使用谷歌博士,我发现了一个相关的
question at SO
指的是
very good blogpost
关于此事。
有一件事我想指出。。。
更改侦听器写入跟踪消息的级别
配置文件初始化跟踪源的设置
在初始化应用程序时。
更改这些设置
您必须更改配置文件并重新启动应用程序,或者
使用TraceRefresh以编程方式刷新应用程序
方法
。应用程序可以动态更改由
配置文件以覆盖用户指定的任何设置。
例如,您可能希望确保关键消息
始终发送到文本文件,无论当前配置如何
设置。