WCF TraceListener

 <system.serviceModel>  
<diagnostics>
      <messageLogging logEntireMessage="true" logMalformedMessages="true" 
        logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true"  maxMessagesToLog="10" />
      <endToEndTracing messageFlowTracing="false"   />
    </diagnostics>
  </system.serviceModel>

System.ServiceModel里面需要配置以上信息,才能够记录日志(不配置的话,不会记录WCF消息)

以上配置完了,需要进行以下配置:

  <system.diagnostics>
      <sources>
        <source name="System.ServiceModel.MessageLogging" >
          <listeners>
            <add name="traceListener" 
                type="System.Diagnostics.XmlWriterTraceListener"
                initializeData= "c:\Traces.svclog"    traceOutputOptions="DateTime"  >
              <filter type="" />
            </add>
          </listeners>
        </source>
      </sources>
      <trace autoflush="true" />
  </system.diagnostics>
配置好Source和Listeners就可以记录WCF消息了。

上面的listener是系统自带的,也可以自定义,通过继承TraceListener,重写Write和WriteLine抽象方法。

配置如下

  <system.diagnostics>
      <sources>
        <source name="System.ServiceModel.MessageLogging" >
          <listeners>
            <add name="traceListener" 
                type="MyNameSpace.MyListener,MyNameSpace">  格式【类型,程序集名称】
              <filter type="" />
            </add>
          </listeners>
        </source>
      </sources>
      <trace autoflush="true" />
  </system.diagnostics>

还可以将listener放到外面来,作为共享listener,定义多个source来使用,通过listener的name

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" >
        <listeners>
          <add name="traceListener">
            <filter type=""/>  可以删除
          </add>
        </listeners>
      </source>
      <source name="System.Runtime.Serialization">
        <listeners>
          <add name="traceListener" /></span>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="traceListener"  type="MyNameSpace.MyListener,MyNameSpace">
        <filter type="" />    可以删除
      </add>
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

还可以参考MSDN配置跟踪
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值