Search code examples
asp.netweb-configloggingtracelistener

Adding tracelistener to web.config


I want to use below code with a website. Which config sections I should add to web.config to log the output into a file or windows eventlog ?

using System.Diagnostics;

// Singleton in real code
Class Logger
{
   // In constructor: Trace.AutoFlush = false;

   public void Log(message)
   {
       String formattedLog = formatLog(message);
       Trace.TraceInformation(formattedLog);
       Trace.Flush();
   }
}

Solution

  • You should use system.diagnostics section. Here's example from MSDN for text file:

    <configuration>
      <system.diagnostics>
        <trace autoflush="false" indentsize="4">
          <listeners>
            <add name="myListener" 
              type="System.Diagnostics.TextWriterTraceListener" 
              initializeData="TextWriterOutput.log" />
            <remove name="Default" />
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>
    

    This is for system events log: http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlogtracelistener.aspx