当 Socket.IO 客户端 C++ 库中的 client.connect(URL) 无法访问时,如何禁用错误日志记录?

问题描述 投票:0回答:1

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"
从源代码构建,但这里也没有运气。

c++ websocket socket.io
1个回答
0
投票

找到答案了。这是一种解决方法,但它确实有效。

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();
并且不会将错误发送到标准输出/控制台。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.