https://github.com/socketio/socket.io-client-cpp/blob/master/API.md
每当服务器无法访问时,它就会不断输出到控制台。 我想完全压制这些消息。
[2024-08-27 18:25:18] [error] handle_connect error: Connection refused
[2024-08-27 18:25:19] [info] asio async_connect error: asio.system:111 (Connection refused)
[2024-08-27 18:25:19] [info] Error getting remote endpoint: asio.system:107 (Transport endpoint is not connected)
这不起作用:
client.set_logs_quiet()
我尝试使用
CXXFLAGS+="-DSIO_DISABLE_LOGGING"
从源代码构建,但这里也没有运气。
找到答案了。这是一种解决方法,但它确实有效。
从 https://github.com/socketio/socket.io-client-cpp/tree/master 源代码中,编辑
./src/internal/sio_client_impl.cpp
并将 m_client.clear_error_channels(websocketpp::log::elevel::all);
行附加到 void client_impl::set_logs_quiet(){ ... }
成员函数体内,保存更改,并构建此修改后的源代码并将此修改后的库与您的程序一起使用。在您的程序中,实例化 sio::client client;
后,使用 client.set_logs_quiet();
并且不会将错误发送到标准输出/控制台。