我想要记录日志,我使用TextWriter/StreamWriter将消息写入我的日志文件。在写完消息后,我调用了TextWriter.Flush(),但是我的消息仍然不能立即显示出来。只有当我调用Close时,它才会出现,但我不想一直重新打开和关闭文件,只是为了立即查看消息。
我想要记录日志,我使用TextWriter/StreamWriter将消息写入我的日志文件。在写完消息后,我调用了TextWriter.Flush(),但是我的消息仍然不能立即显示出来。只有当我调用Close时,它才会出现,但我不想一直重新打开和关闭文件,只是为了立即查看消息。
您可以尝试自行构建FileStream并将FileOptions.WriteThrough传递给构造函数。然后使用该FileStream构建StreamWriter。WriteThrough选项绕过缓存。
StreamWriter.AutoFlush
属性设置为 true。这样,写入 StreamWriter 的任何内容都会立即写入磁盘(在每次调用 Write
后)。确保使用读共享访问打开日志文件,允许所有后续的读取操作,但拒绝写入访问。这样,您就可以从另一个程序监视日志。