【发布时间】:2014-06-11 22:04:34
【问题描述】:
如果在每次写入消息时使用自动刷新或手动刷新,我在 Visual Studio 中调试时注意到了一些问题,即使启用 AutoFlush = true,我也看不到写入文件的数据。该文件仅在我停止调试器时才会更新。这使我相信数据仅在特定时间或程序完成时才被刷新。
或者这是调试的副作用,在实际程序中它的行为会有所不同?
什么时候会写入数据?马上,还是在某些事件或时间之后?
编辑:我确实在 Visual Studio 的调试输出窗口中看到了输出消息,只是在文件中没有。
【问题讨论】:
-
您使用的是 log4net 还是其他库?如果您正在使用,请添加适当的标签并包括您的 appender 的 log4net 配置。
-
@ScottChamberlain 不仅仅是基本的 .net Trace 和 TraceSource。但我想我发现原因是缓冲区需要填充到一定数量才能写入文件。当我使用更大的消息时,文件更新了。