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?你能指点我一个教程还是一个例子?我一直无法找到一个实现我需要的例子。 –
好吧,我想出了如何解决这个问题。我稍后会发布答案。 –