[英]Console.SetOut to StreamWriter, write to textfile constantly
我正在使用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);
在Application.Run()之后:
writer.Dispose();
謝謝。
StreamWriter具有AutoFlush屬性。 設置為true時,您應該得到所需的結果。
StreamWriter
默認會緩沖其內容。 如果要刷新緩沖區,則必須調用Flush
方法:
清除當前編寫器的所有緩沖區,並將所有緩沖的數據寫入基礎流。
如果您不想每次手動調用flush,您可能需要考慮實現自己的TextWriter派生對象來為您執行此操作。
要刷新緩沖區,可以執行writer.Close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.