Tony Peterson Tony Peterson - 1 year ago 56
C# Question

.NET Trace to a file not working

I am trying to track strange things going on in my Windows Forms application with a TextWriterTraceListener pointed to a file location. I have it set up so that the first time the application needs to trace something during the run of the program, it creates the trace listener and registers it.

However, it looks like the trace file is not getting created at all, nothing showed up at C:\GMS2Trace.log. I have verified that the program has reached parts of the code that call the trace method.

My trace code looks like:

internal static void traceWarning(string message)
{
if (!traceEnabled)
{
traceEnabled = true;
Trace.Listeners.Add(new TextWriterTraceListener(@"C:\GMS2Trace.log"));
}

Trace.TraceWarning(getTimeStamp() + " " + message);
}


Is it a problem with the location of the trace file, or something else?

Answer Source

You can configure it all from app.config and just use:

Trace.Writeline("msg");

Example from one of my projects:

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

Remember though that all Console.Writeline allso ends up in the file

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download