4

配置文件:

  <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 属性的东西吗?

4

3 回答 3

10

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

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

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

于 2010-12-03T13:27:31.733 回答
3

我想这是:

<system.diagnostics>
    <trace autoflush="true">
      ...
    </trace>
</system.diagnostics>
于 2010-12-03T13:29:01.517 回答
2

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

于 2010-12-03T13:35:51.547 回答