我可以访问BOOST_LOG_TRIVIAL使用的流实例吗?



是否可以访问BOOST_LOG_TRIVIAL使用的底层流实例?

我试图让BOOST单元测试框架使用BOOST_LOG_TRIVIAL(我已配置为在文件和std::clog中写入)编写输出

auto&Log_stream = ??//BOOST_LOG_TRIVIAL流实例boost:: unit_test:: unit_test_log.instance () .set_stream (log_stream);

是否可以访问BOOST_LOG_TRIVIAL使用的底层流实例?

不,它不是。在内部,Boost.Log中的默认接收器(由BOOST_LOG_TRIVIAL使用,除非您配置了自己的接收器)甚至不使用流。

我认为,集成Boost的最好方法。Test with Boost.Log是实现你自己的流缓冲区(一个从std::streambuf派生的类)。缓冲区必须转换来自Boost的输出。测试到单独的日志记录(例如,通过在换行符上分割它),并通过BOOST_LOG_TRIVIAL或其他方式将记录传递给Boost.Log。然后,您可以创建一个std::ostream对象来引用您的流缓冲区并将其传递给Boost。Test into set_stream .

相关内容

  • 没有找到相关文章

最新更新