Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Trace.Flush()-数据会立即写入TextWriterTraceListener吗?_C#_.net - Fatal编程技术网

C# Trace.Flush()-数据会立即写入TextWriterTraceListener吗?

C# Trace.Flush()-数据会立即写入TextWriterTraceListener吗?,c#,.net,C#,.net,如果在每次写入消息时使用自动刷新或手动刷新,我在Visual studio中调试时注意到一些问题,即使启用了AutoFlush=true,我也看不到写入文件的数据。只有当我停止调试器时,文件才会更新。这让我相信数据只是在某个特定的时间,或者当程序完成时才被刷新 或者这是调试的副作用,在实际程序中,它的行为会有所不同 数据将在什么时候写入?马上,或者在某个事件之后,或者在某个时间 编辑:我确实在VisualStudio的调试输出窗口中看到了输出消息,只是没有在文件中看到。我想我在这里找到了解释

如果在每次写入消息时使用自动刷新或手动刷新,我在Visual studio中调试时注意到一些问题,即使启用了AutoFlush=true,我也看不到写入文件的数据。只有当我停止调试器时,文件才会更新。这让我相信数据只是在某个特定的时间,或者当程序完成时才被刷新

或者这是调试的副作用,在实际程序中,它的行为会有所不同

数据将在什么时候写入?马上,或者在某个事件之后,或者在某个时间


编辑:我确实在VisualStudio的调试输出窗口中看到了输出消息,只是没有在文件中看到。

我想我在这里找到了解释


写入程序在其内部缓冲区填满时刷新到磁盘,如果内存可用,则默认缓冲区大小为8KB。这不是跟踪侦听器的一个方面,而是它写入的底层文件流。

您使用的是log4net还是其他库?如果您正在使用的是appender,请添加适当的标记,并包括它的log4net配置。@ScottChamberlain不只是基本的.net跟踪和TraceSource。但我想我发现原因是缓冲区需要填充到一定量才能写入文件。当我使用更大的消息时,文件更新了。