簡體   English   中英

Console.Writeline C# - 記錄時丟失STDOUT

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM