[英]Console.Writeline C# - Loses STDOUT when logging
我在一個小捏:)
我發現了一個非常奇怪的行為,我無法弄清楚它可能是什么原因。
它與C#Visual Studio 2008中的控制台記錄有關
例如,命令行的正常行為是:
1)如果我使用“dir”命令,我會看到目錄的內容
2)如果我使用“dir> 1.txt”,我將獲得1.txt文件中目錄的內容。
所以這是正常行為而且有效。 現在回到我的問題。
在我正在使用的c#應用程序中,我有一個測試列表,我想在命令行中使用我的應用程序時列出它們。 所以我有:
Console.WriteLine("Start running " + sn);
我正常運行應用程序的結果是:(我發送的命令)
Application.exe -run 1.test,2.test,3.test
輸出:
Start running 1.test
Start running 2.test
Start running 3.test
但如果我使用此命令:
Application.exe -run 1.test,2.test,3.test > 1.txt
三個Start start命令從stdout中消失,但1.txt是BLANK。
我不知道響應在哪里,我無法記錄響應,但我可以直觀地看到它。 但是當我將STDOUT重定向到日志時,它既不存在於視覺上也不存在於日志中。
任何人都有任何想法?
輸出到文件是緩沖的。 在最壞的情況下,內容將在應用程序完成后保存。 要強制緩沖區刷新,您可以調用:
Console.Out.Flush();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.