TextWriterTraceListener does not work

Captain Comic picture Captain Comic · Dec 3, 2010 · Viewed 9.2k times · Source

Config file:

  <system.diagnostics>
    <trace>
      <listeners>
        <add name="Console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false"></add>
        <add name="Text" type="System.Diagnostics.TextWriterTraceListener" initializeData="D:\uat\logs\bifit.log" traceOutputOptions="DateTime"></add>
      </listeners>
    </trace>
  </system.diagnostics>

The code:

  static void Main(string[] args)
        {
            try
            {
                Trace.WriteLine("Running BiFit Test Server.");
             }
         }

I can see the text in cosole window. And the file is created, but it empty. I remember there is something like Autoflush property somewhere?

Answer

Oded picture Oded · Dec 3, 2010

You recall correctly - it is defined on the trace element:

<trace autoflush="true">
  ...
</trace>

autoflush - Optional attribute. Specifies whether the trace listeners automatically flush the output buffer after every write operation.