用于跟踪HTTP请求的CustomTraceListener类实现

时间:2016-11-27 10:35:22

标签: enterprise-library

我一直在尝试使用CustomTraceListener类来拥有自己的自定义跟踪侦听器。配置按照MSDN完成,但失败并显示错误:

 System.Configuration.ConfigurationErrorsException was unhandled by user code
  HResult=-2146232062
  Message=Could not create TraceLib.DebugTraceListener,TraceLib.
  Source=mscorlib
  BareMessage=Could not create TraceLib.DebugTraceListener,TraceLib.
  Line=0
  StackTrace:
Server stack trace: 
   at System.Diagnostics.TraceUtils.GetRuntimeObject(String className, Type baseType, String initializeData)
   at System.Diagnostics.TypedElement.BaseGetRuntimeObject()
   at System.Diagnostics.ListenerElement.GetRuntimeObject()
   at System.Diagnostics.ListenerElement.GetRuntimeObject()
   at System.Diagnostics.ListenerElementsCollection.GetRuntimeObject()
   at System.Diagnostics.TraceSource.Initialize()
   at System.Net.Logging.InitializeLogging()
   at System.Net.Logging.get_On()
   at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)

配置:

<system.diagnostics>
<sources>
<source name="System.Net" >
<listeners>
<add name="MyTrace"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="MyTrace" type="TraceLib.DebugTraceListener,TraceLib" initializeData="System.Net.trace.log"/>
</sharedListeners>
<switches>
<add name="System.Net" value="Information" />
</switches>
</system.diagnostics>

有任何线索吗?

1 个答案:

答案 0 :(得分:0)

修正了配置并且它有效!

<system.diagnostics>
<sources>
<source name="System.Net" >
<listeners>
<add name="MyTrace"/>
</listeners>
</source>
</sources>    
<sharedListeners>
<add name="MyTrace" type="TraceLib.DebugTraceListener,TraceLib" />
</sharedListeners>
<switches>
<add name="System.Net" value="Information" />
</switches>
</system.diagnostics>

&#34; initializeData&#34;属性不是必需的。