4

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?

MatthewMartin
  • 32,326
  • 33
  • 105
  • 164
Captain Comic
  • 15,744
  • 43
  • 110
  • 148

3 Answers3

10

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.

Oded
  • 489,969
  • 99
  • 883
  • 1,009
3

I think it's:

<system.diagnostics>
    <trace autoflush="true">
      ...
    </trace>
</system.diagnostics>
Simon Mourier
  • 132,049
  • 21
  • 248
  • 298
2

You could call Trace.Flush() once you are done with your Trace.Write type operations.

Prasanna K Rao
  • 1,086
  • 2
  • 8
  • 18