配置文件:
<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属性吗?
答案 0 :(得分:10)
您回忆正确 - 它是在trace
元素上定义的:
<trace autoflush="true">
...
</trace>
autoflush - 可选属性。指定跟踪侦听器是否在每次写入操作后自动刷新输出缓冲区。
答案 1 :(得分:3)
我认为是:
<system.diagnostics>
<trace autoflush="true">
...
</trace>
</system.diagnostics>
答案 2 :(得分:2)
完成Trace.Write类型操作后,可以调用Trace.Flush()。