c#网络编程------网络追踪之app.config

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <system.diagnostics>

    <sources>

      <source name="System.Net">

        <listeners>

          <add name="System.Net"/>

        </listeners>

      </source>

      <source name="System.Net.Sockets" >

        <listeners>

          <add name="System.Net"/>

        </listeners>

      </source>

      <source name="System.Net.Cache">

        <listeners>

          <add name="System.Net"/>

        </listeners>

      </source>

    </sources>

    <switches>

      <add name="System.Net" value="31" />

      <add name="System.Net.Sockets" value="Verbose"  />

      <add name="System.Net.Cache"  value="Verbose"  />

    </switches>

    <sharedListeners >

      <add name="System.Net"

           type="System.Diagnostics.TextWriterTraceListener"

           initializeData="my.log"

           />

    </sharedListeners>

    <trace autoflush="true">

    </trace>

  </system.diagnostics>

</configuration>

 

C#网络编程中,微软的vs2010提供了相关的跟踪方法,便于开发人员得到网络通信的信息,具体配置如下:

Trace实现网络跟踪记录,需要添加app.config文件(右键某project的add new item,选择添加一个xml文件就可以,文件名填写为app.config),之后要将相关的配置信息(如上所示的xml)。

         这些节点的具体用途还没有弄清楚,只是知道sources节点必须要和switches下的节点对应起来,才能追踪并输出结果。sources下的source节点的name为想要追踪的dll名,listener节点下的add节点的name为添加到名字为System.Net(自定义名字,和system.Net这个dll一点关系都没有)的listener(在sharedListener处要用到)。

影响输出结果的主要是在switches节点下add节点的value值。此处value一个枚举类型,可以写入int或者枚举对应的string(31,Verbose)。

输出log的存储路径写在sharedListeners节点下add节点的initializeData属性后。

运行程序,你就会看到log打出了。在vs2010下的output窗口,也会有同样的信息。

以下为value值对应的enum。

    public enum SourceLevels

    {

        All = -1,

        Off = 0,

        Critical = 1,

        Error = 3,

        Warning = 7,

        Information = 15,

        Verbose = 31,

        ActivityTracing = 65280,

    }

转载于:https://www.cnblogs.com/trentLiu/archive/2011/12/30/2307389.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值