4
我有一個將std :: ostream作爲參數的進度條函數。爲了便於描述,我在此簡化了它。如何將ostream重定向到Boost日誌庫
void someprogressbar(std::ostream & stream)
{
stream << "Hello";
}
我不能修改這個函數,因爲它是第三方函數。我使用std::ostringstream myoss; someprogressbar(myoss)
或someprogressbar(std::cout)
來稱呼此功能。該功能在我的程序進行中實時打印一些信息。
如何將輸出重定向到Boost Log庫?我可以做BOOST_LOG_TRIVIAL(debug) << "Hello"
,但不能做someprogressbar(BOOST_LOG_TRIVIAL(debug)))
。
寫一個整潔的小流緩衝(升壓的Iostream Sink)並實現它來寫入以提升日誌。 (這可能已經由某人實施) – sehe
我仍然在理解水槽的問題上掙扎。我設置了一個打印到控制檯和多個文件的全局Boost記錄器。是在這裏,我需要鉤這個streambuf?你能指點我一個教程還是一個例子?我一直無法找到一個實現我需要的例子。 –
好吧,我想出瞭如何解決這個問題。我稍後會發布答案。 –