C#跟踪日志

跟踪由四部份组成。

1.跟踪源 TraceSource;

2.开关。用于打开或关闭跟踪事件。有三种开关。BooleanSwitch,TraceSwitch,SourceSwitch.boolean开关比较简单。后两种可以增加Level参数。可把开关的Level值定义为error,info,warring,verbose,off等。

3.侦听器

4.筛选器。

最简单的跟踪是只使用跟踪源和开关两个。代码如下:

测试代码:

 class Program
    {
        static void Main(string[] args)
        {
            TraceSource tranceSource = new TraceSource("sample");
            SourceSwitch SourceSwitch = new SourceSwitch("sample") { Level = SourceLevels.Error};
            tranceSource.Switch = SourceSwitch;
            tranceSource.TraceEvent(TraceEventType.Information, 0, DateTime.Now.ToString()+ "开始执行!");
            people p = new people();
            try
            {
                 p.run();
            }
            catch (Exception ex)
            {
                tranceSource.TraceEvent(TraceEventType.Error, 0, ex.Message);
            }
        }
    }
    class people
    {
        public void run()
        {
            throw new Exception("is gone!");
        }
    }

跟踪输出:

sample Error: 0 : is gone!

通常把程序写入配置文件是最好的。因为可以不用重新编译程序就可以改变配置。从而可以实时查看程序运行中出现的问题。但由于.net程序是安装在很深的文档中。因此建议在程序界面对config进行更改。

在config配置文件如下:

 <system.diagnostics>
    <sources>
      <source name="sample" switchName="sampleSwitch" switchType="System.Diagnostics.SourceSwitch">
      </source>
    </sources>
    <switches>
      <add name="sampleSwitch" value="Information"/>
    </switches>
  </system.diagnostics>

由上可知,定义简单的跟踪事件。需要两个类。一个跟踪源(traceSource),一个开关(SourceSwich)就可以了。但是它们的输出是在output中。当程序正式部署时,最好是要写一个文本文件中。因此需要使用侦听器。

将下面的配置加入到<source>元素中就可以输出到指定文件。

<listeners>
          <add name="listence" type="System.Diagnostics.TextWriterTraceListener"  traceOutputOptions="DateTime" initializeData="D:/d.txt"/>
        </listeners>

注意在输出文本的方法中,写入information等要调用flush方法或者tranceSource.Close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值