我有,我可以運行並不僅僅是C打字在控制檯看C#控制檯應用程序:如何查看控制檯實時同時Outputing輸出和錯誤的文件
programName.exe
我也可以寫這對一個文件做:
programName.exe > log.txt
但是,當我這樣做,我不能查看輸出,因爲它正在發生。我強制在整個程序完成後查看日誌文件。
我該如何做到這一點?我想看到實時標準輸出和標準錯誤,但仍然寫入該日誌文件。有沒有辦法做到這一點,而不改變C#應用程序代碼?
我有,我可以運行並不僅僅是C打字在控制檯看C#控制檯應用程序:如何查看控制檯實時同時Outputing輸出和錯誤的文件
programName.exe
我也可以寫這對一個文件做:
programName.exe > log.txt
但是,當我這樣做,我不能查看輸出,因爲它正在發生。我強制在整個程序完成後查看日誌文件。
我該如何做到這一點?我想看到實時標準輸出和標準錯誤,但仍然寫入該日誌文件。有沒有辦法做到這一點,而不改變C#應用程序代碼?
如果使用Windows PowerShell是一個選項,你,你可以使用Tee-Object
命令:
programName.exe | tee -file 'log.txt'
這將同時重定向標準輸出到控制檯窗口和log.txt中。一種解決方法重定向都stdout
和stderr
是:
programName.exe 2>&1 | tee -file 'log.txt'
您還可以找到應對this similar question有用
我不知道任何現有的命令可以做到這一點。
但是,您可以編寫一個簡單的新程序來複制stdin並將它們寫入控制檯和文件。希望這可以幫到你。