0
我的應用程序使用log4cplus進行日誌記錄。PowerShell日誌過濾器功能緩衝輸出
當我在CMD或PowerShell中啓動它時,可以逐行記錄。
我決定在PS中加入小的過濾功能,使輸出變得豐富多彩。
# Simplified version
function ColoredOutput
{
process { Write-Host $_ -ForegroundColor Yellow }
}
這之後我啓動的應用程序如下:
myapp.exe | ColoredOutput
的問題是,現在我得到在同一時間登錄塊約幾個消息的消息,而不是一行行。我無法理解什麼觸發了實際的輸出。
在我看來像一些輸出緩衝。有任何想法嗎?
UPD:這個問題似乎與在C++而不是記錄器中使用簡單的std :: cout記錄的一些消息有關。
UPD2:我開始認爲它實際上是觸發輸出的C++。正如你從下面的圖片中看到的那樣,最後一條消息是來自std :: cout,以前的所有消息 - 來自log4cplus。
我無法重現(V4,使用ping -t)。 – mjolinor
你能告訴我們一些輸出的樣子嗎?我不知道該程序正在使用什麼流...也許你需要把所有的標準輸出。 – Matt
@Matt:請參閱原始問題中的UPD2。 – Werolik