TextWriterTraceListener不起作用

时间:2010-12-03 13:25:13

标签: c# .net logging trace system.diagnostics

配置文件:

  <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 个答案:

答案 0 :(得分:10)

您回忆正确 - 它是在trace元素上定义的:

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

autoflush - 可选属性。指定跟踪侦听器是否在每次写入操作后自动刷新输出缓冲区。

答案 1 :(得分:3)

我认为是:

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

答案 2 :(得分:2)

完成Trace.Write类型操作后,可以调用Trace.Flush()。