TextWriterTraceListener не работает - PullRequest
4 голосов
/ 03 декабря 2010

Файл конфигурации:

  <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>

Код:

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

Я вижу текст в окне cosole.И файл создан, но он пустой.Я помню, где-то есть что-то вроде свойства Autoflush?

Ответы [ 3 ]

10 голосов
/ 03 декабря 2010

Вы помните правильно - это определено для элемента trace:

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

autoflush - Необязательный атрибут. Указывает, будут ли прослушиватели трассировки автоматически очищать выходной буфер после каждой операции записи.

3 голосов
/ 03 декабря 2010

Я думаю, что это:

<system.diagnostics>
    <trace autoflush="true">
      ...
    </trace>
</system.diagnostics>
2 голосов
/ 03 декабря 2010

Вы можете вызвать Trace.Flush (), как только закончите с операциями типа Trace.Write.

...