Tuesday, March 15, 2011

Clearing the log associated with a tracelistener after each run ?

I'm using TextWriterTraceListener for logging, which is being configured into the app using app.config as shown below.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <trace autoflush="true" indentsize="100"  >
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" 
             initializeData="MyLog.log" />
        <remove name="Default" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

How do I ensure that the logging starts afresh (clearing the previous contents) after each run, rather than appending to the contents to the existing log ?

From stackoverflow
  • Imo, log4net gives you a lot more options and configurability than the Trace system. The RollingLogFileAppender is what you're looking for.

  • The best way would be to derive your own Custom TraceListener from the TextWriterTraceListener class. Here's a sample that rolls a new log file at every interval. You should be able to modify this implementation.

0 comments:

Post a Comment