自我过程的重复控制台输出
作者:互联网
我想将我的流程控制台输出重定向到文件,同时保留将其显示在当前连接的控制台上的实用程序.
重定向很容易完成:
using (FileStream fs = new FileStream(TestLogName("Texture"), FileMode.Create, FileAccess.Write)) {
Console.SetOut(new StreamWriter(fs));
...
Console.Out.Flush();
}
但是,如何在已连接的控制台上维护控制台输出时又实现相同的结果(事实上是复制流)?
解决方法:
您可以使用可写入文件的类和另一个TextWriter类来继承TextWriter.然后使用System.Console.Out的当前值初始化此类的实例.
var writer = new SplitWriter(Console.Out, @"c:\temp\logfile.txt");
Console.SetOut(writer);
然后,SplitWriter负责写入文件和Console.Out的原始值.
标签:console,io-redirection,c 来源: https://codeday.me/bug/20191102/1990584.html