将Boost.Log与Boost.Asio服务一起使用
Using Boost.Log together with Boost.Asio services
我有一台使用boost.asio服务的服务器。我使用boost.log与异步接收器进行日志记录。asio_io_service在自己的线程中启动。在启动服务器之前,会在主线程中初始化记录器。服务器通过async_accept接受连接,并以异步方式读取和发送消息。
现在我遇到了一个问题,即当服务器正在做一些事情时,记录器只记录消息,例如接收消息。当我在记录器初始化后和启动服务器之前记录消息时,我只能在服务器收到第一条消息后才能看到此日志消息。但是,即使没有服务器操作,我也希望记录消息。你知道问题是什么吗?我该怎么解决?
好的,相关的stackoverflow问题给了我答案:)它是默认禁用的auto_flush。因此,记录器初始化中的这一行就是解决方案:
sink->locked_backend()->auto_flush(true);
相关文章:
- 将 boost::odeint 与向量类一起使用,而无需调整向量的大小
- 如何将boost::asio::d eadline_timer 与Qt一起使用?
- 如何将来自 Boost.Python 的map_indexing_suite与自定义而不是标准对象一起使用?
- boost::interprocess::file_lock 与 std::ostream 一起使用时的错误行为
- 将boost::filtering_streambuf与newline_filter一起使用时为空文件
- 如何将前向声明与 boost::msm 一起使用以避免循环依赖?
- 将Bazel与本地Boost安装一起使用
- 将 boost::function 与指向派生类的共享指针的参数一起使用
- 在Windows 10和Visual Studio Community 2019下,将Boost与Bazel一起使用
- 将 boost-di 与配置文件和共享库一起使用
- Boost Asio和Co_await-与任何第三方回调一起使用
- 可以将boost :: unordered_map与std :: shared_ptr一起使用
- 将 boost odeint 与 std::map 和自定义向量空间代数一起使用时,没有可行的重载'='
- 无法让 matplotlib 事件处理程序与 Boost.Python 一起工作
- 将 boost::object_pool 与矢量一起使用时指针无效
- 如何与CMAKE一起使用VS 2017编译的Boost Filesystem库
- 如何将 boost::atomic_store 与 shared_ptr<T> 和 shared_ptr<const T> 一起使用?
- 与Boost一起使用溪流
- 我可以将 std::function (C++11 lambda) 与 Boost 一起使用吗?
- 将物理常数与boost一起使用