diff --git a/include/mqtt_client.hpp b/include/mqtt_client.hpp index df5eeff..ba2b000 100644 --- a/include/mqtt_client.hpp +++ b/include/mqtt_client.hpp @@ -8,6 +8,7 @@ #include #include #include "app_config.hpp" +#include "logger.hpp" class MQTTClient : public virtual mqtt::callback { diff --git a/src/mqtt_client.cpp b/src/mqtt_client.cpp index 83ca99a..1521919 100644 --- a/src/mqtt_client.cpp +++ b/src/mqtt_client.cpp @@ -43,10 +43,12 @@ void MQTTClient::connect() if (on_connect_) on_connect_(); + + LOG_INFO("[MQTTClient] Connected to broker: " + config_.server_ip); } catch (const mqtt::exception &e) { - std::cerr << "[MQTTClient] Connect failed: " << e.what() << std::endl; + LOG_ERROR("[MQTTClient] Connect failed: " + std::string(e.what())); startReconnect(); } } @@ -63,10 +65,12 @@ void MQTTClient::disconnect() connected_ = false; if (on_disconnect_) on_disconnect_(); + + LOG_INFO("[MQTTClient] Disconnected from broker: " + config_.server_ip); } catch (const mqtt::exception &e) { - std::cerr << "[MQTTClient] Disconnect failed: " << e.what() << std::endl; + LOG_ERROR("[MQTTClient] Disconnect failed: " + std::string(e.what())); } } @@ -78,10 +82,11 @@ void MQTTClient::publish(const std::string &topic, const std::string &payload, i try { client_->publish(topic, payload.data(), payload.size(), qos, false)->wait_for(std::chrono::milliseconds(500)); + LOG_INFO("[MQTTClient] Published message to topic: " + topic); } catch (const mqtt::exception &e) { - std::cerr << "[MQTTClient] Publish failed: " << e.what() << std::endl; + LOG_ERROR("[MQTTClient] Publish failed: " + std::string(e.what())); if (!connected_) startReconnect(); } @@ -95,10 +100,11 @@ void MQTTClient::subscribe(const std::string &topic, int qos) try { client_->subscribe(topic, qos)->wait(); + LOG_INFO("[MQTTClient] Subscribed to topic: " + topic); } catch (const mqtt::exception &e) { - std::cerr << "[MQTTClient] Subscribe failed: " << e.what() << std::endl; + LOG_ERROR("[MQTTClient] Subscribe failed: " + std::string(e.what())); if (!connected_) startReconnect(); } diff --git a/src/mqtt_client_wrapper.cpp b/src/mqtt_client_wrapper.cpp index fa0b7e5..1f2d3ca 100644 --- a/src/mqtt_client_wrapper.cpp +++ b/src/mqtt_client_wrapper.cpp @@ -50,7 +50,7 @@ void mqtt_client_thread_func() while (!mqtt_restart_required && g_running) { - std::this_thread::sleep_for(std::chrono::seconds(1)); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); } // 需要重启或退出