TraceSource source1 = new TraceSource("Wrox.ProCSharp.Tracing", SourceLevels.Error);
//SourceLevels指,用来控制指定由源开关和事件类型筛选器筛选的跟踪消息的级别。举例说明如下图:
//如下,也可以把SourceLevels参数放在SourceSwitch中的参数中
//TraceSource source1 = new TraceSource("Wrox.ProCSharp.Tracing");
// source1.Switch = new SourceSwitch("s1", "Off");
myTextListener = new TextWriterTraceListener(twriter);
source1.Listeners.Add(myTextListener);
source1.TraceInformation("-------这是我要写入的信息");
source1.TraceEvent(TraceEventType.Error, 3, "Error错误");
source1.TraceEvent(TraceEventType.Information, 3, "Information错误");
source1.TraceEvent(TraceEventType.Warning, 3, "Warning错误");
source1.Close();
//当值为SourceLevels.Warning 时,只允许 TraceEventType.Critical、 TraceEventType.Error
// TraceEventType.Warning 事件通过。记事本输出
//当值为SourceLevels.Error时, 允许 TraceEventType.Critical 和 TraceEventType.Error事件通过。
也可以将参数放在配置文件中,使得在修改相关参数时不需要重新编译程序
<?xml version="1.0" encoding="utf-8" ?>
<source name="myTraceSource" switchName="mySwitch">
<add name="console" type="System.Diagnostics.ConsoleTraceListener"></add>
<source name="myTraceSource2" switchName="mySwitch2">
<add name="console" type="System.Diagnostics.TextWriterTraceListener" initializeData="test.log"></add>
<add name="mySwitch" value="error"/>
<add name="mySwitch2" value="warning"/>
</configuration>
</system.diagnostics>
在代码中,使用方法如下
<configuration>
<system.diagnostics>
<sources>
<listeners>
<remove name="Default"></remove>
</listeners>
</source>
<listeners>
<remove name="Default"></remove>
</listeners>
</source>
</sources>
<switches>
</switches>
private static TraceSource mySource = new TraceSource("myTraceSource");
private static TraceSource mySource2 = new TraceSource("myTraceSource2");