TextWriterTraceListener不起作用

Cap*_*mic 4 .net c# 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>
Run Code Online (Sandbox Code Playgroud)

代码:

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

我可以在cosole窗口看到文字.并创建文件,但它是空的.我记得某处有Autoflush属性吗?

Ode*_*ded 10

你没记错 - 它是在trace元素上定义的:

<trace autoflush="true">
  ...
</trace>
Run Code Online (Sandbox Code Playgroud)

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