Enabling Tracing for System.Net


In whidbey, System.Net has a cool retail tracing implementation. It writes most calls made to public API’s to a TraceListener. You can setup your own tracelisteners, or use the config file to setup a default listener.


This facility is very useful in debugging problems with applications.


Here is the example config file which enables Verbose tracing.



<?xml version=”1.0″ encoding=”UTF-8″ ?>


<configuration>
<system.diagnostics>
 <trace autoflush=”true” />


 <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>
        <sharedListeners>
                <add
                  name=”System.Net”
                  type=”System.Diagnostics.TextWriterTraceListener”
                  initializeData=”System.Net.trace.log”
                />
        </sharedListeners>
 <switches>
                <add name=”System.Net” value=”Verbose” />
  <add name=”System.Net.Sockets” value=”Verbose” />               
  <add name=”System.Net.Cache” value=”Verbose” />
 </switches>
</system.diagnostics>
</configuration>


NOTE: If you are doing logging inside of the ASP.NET process, make sure to give the ASP.NET process identity WRITE permissions to the directory where you want the log to be written.

Comments (0)

Skip to main content