Console.SetOut到StreamWriter,不断写入textfile

Fve*_*ver 6 c# logging streamwriter console.setout console.out.writeline

我正在使用Console.SetOut方法将我的所有Console.Out.WriteLines写入文件,这是有效的.唯一的问题是,当我关闭应用程序时它只会将所有内容写入文本文件,而不是每当Console.Out.WriteLine发生时都写入.关于如何实现这一点的任何想法?

我是怎么做的:在Application.Run()之前;

FileStream writerOutput = new FileStream("Logging_Admin.txt", FileMode.Append, FileAccess.Write);
StreamWriter writer = new StreamWriter(writerOutput);
Console.SetOut(writer);
Run Code Online (Sandbox Code Playgroud)

在Application.Run()之后:

writer.Dispose();
Run Code Online (Sandbox Code Playgroud)

谢谢.

Jen*_*ens 13

StreamWriter具有AutoFlush属性.设置为true时,您应该得到所需的结果.


And*_*are 11

StreamWriter默认情况下,将缓冲其内容.如果要刷新缓冲区,则必须调用Flush方法:

清除当前编写器的所有缓冲区,并将所有缓冲的数据写入基础流.