From 80a694116a2c416fdfedc37d387918730c61df3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Wed, 10 Apr 2024 09:54:24 +0200 Subject: [PATCH] log va_list FIX + log padding FIX + log clean --- lib/patrix/Patrix.cpp | 2 +- lib/patrix/log.cpp | 14 ++++++-------- lib/patrix/mqtt.cpp | 14 +++++--------- lib/patrix/mqtt.h | 2 +- lib/patrix/wifi.cpp | 14 +++++++------- 5 files changed, 20 insertions(+), 26 deletions(-) diff --git a/lib/patrix/Patrix.cpp b/lib/patrix/Patrix.cpp index 75f3da7..352aef1 100644 --- a/lib/patrix/Patrix.cpp +++ b/lib/patrix/Patrix.cpp @@ -9,7 +9,7 @@ void setup() { delay(500); Serial.begin(115200); - info("MAIN", "\n\n\nStartup..."); + info("MAIN", "Startup..."); mqttSetup(); wifiSetup(); patrixSetup(); diff --git a/lib/patrix/log.cpp b/lib/patrix/log.cpp index e86138d..00e3804 100644 --- a/lib/patrix/log.cpp +++ b/lib/patrix/log.cpp @@ -2,8 +2,6 @@ #include "log.h" #include "mqtt.h" -#define SEPARATOR " | " - bool debugEnabled = false; void getDateTime(char *buffer, size_t size) { @@ -14,18 +12,18 @@ void getDateTime(char *buffer, size_t size) { strftime(buffer, size, "%Y-%m-%d %H:%M:%S %z", &time); } -void log(const char *level, const char *module, const char *format, ...) { +void log(const char *level, const char *module, const char *format, va_list vl) { char datetime[26]; getDateTime(datetime, sizeof datetime); - va_list vl; - va_start(vl, format); + char header[50]; + snprintf(header, sizeof header, " | %-5s | %-15s | ", level, module); + char message[500]; vsnprintf(message, sizeof message, format, vl); - va_end(vl); - const size_t len = Serial.print(datetime) + Serial.print(SEPARATOR) + Serial.print(module) + Serial.print(SEPARATOR) + Serial.print(level) + Serial.print(SEPARATOR) + Serial.print(message) + Serial.println(); - mqttPublishLog(len, SEPARATOR, datetime, module, level, message); + const size_t len = Serial.print(datetime) + Serial.print(header) + Serial.print(message) + Serial.println(); + mqttPublishLog(len, datetime, header, message); } void debug(const char *module, const char *format, ...) { diff --git a/lib/patrix/mqtt.cpp b/lib/patrix/mqtt.cpp index 078f679..3ddf2f4 100644 --- a/lib/patrix/mqtt.cpp +++ b/lib/patrix/mqtt.cpp @@ -36,16 +36,16 @@ void mqttLoop() { mqttLastConnectTry = millis(); mqtt.setServer("10.0.0.50", 1883); if (!mqtt.connect(HOSTNAME, logTopic, 0, false, "disconnected")) { - Serial.printf("failed to connect\n"); + error("MQTT", "Failed to connect MQTT server!"); return; } - info("MQTT", "connected"); + info("MQTT", "MQTT server connected!"); mqtt.setBufferSize(512); mqtt.subscribe(cmdTopic); mqtt.setCallback([](const char *topic, const uint8_t *bytes, const unsigned int length) { char content[64]; if (length > sizeof content - 1) { - error("MQTT", "RECEIVE BUFFER OVERFLOW"); + error("MQTT", "MQTT RECEIVE BUFFER OVERFLOW"); return; } memcpy(content, bytes, length); @@ -60,14 +60,10 @@ void mqttLoop() { mqtt.loop(); } -void mqttPublishLog(const size_t len, const char *separator, const char *datetime, const char *module, const char *level, const char *message) { +void mqttPublishLog(const size_t len, const char *datetime, const char *header, const char *message) { if (mqtt.beginPublish(logTopic, len, false)) { mqtt.print(datetime); - mqtt.print(separator); - mqtt.print(module); - mqtt.print(separator); - mqtt.print(level); - mqtt.print(separator); + mqtt.print(header); mqtt.print(message); mqtt.endPublish(); } diff --git a/lib/patrix/mqtt.h b/lib/patrix/mqtt.h index 187d6b9..7ec6454 100644 --- a/lib/patrix/mqtt.h +++ b/lib/patrix/mqtt.h @@ -9,7 +9,7 @@ void mqttLoop(); void mqttDisconnect(); -void mqttPublishLog(const size_t len, const char *separator, const char *datetime, const char *module, const char *level, const char *message); +void mqttPublishLog(const size_t len, const char *datetime, const char *header, const char *message); bool mqttPublishData(const char *name, const JsonDocument &doc); diff --git a/lib/patrix/wifi.cpp b/lib/patrix/wifi.cpp index fd99c97..42a6634 100644 --- a/lib/patrix/wifi.cpp +++ b/lib/patrix/wifi.cpp @@ -39,25 +39,25 @@ void wifiConnect() { WiFi.disconnect(); yield(); wifiLastConnectTry = millis(); - info("WIFI", "Connecting: %s", WIFI_SSID); + info("WIFI", "Connecting WiFi: %s", WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PKEY); yield(); } void otaSetup() { ArduinoOTA.onStart([] { - info("OTA", "Start!"); + info("OTA", "OTA start..."); otaLastLogStep = 0; }); ArduinoOTA.onProgress([](unsigned int received, unsigned int total) { uint8_t currentStep = 20 * received / total; if (otaLastLogStep != currentStep) { - info("OTA", "Progress: %3d%%", currentStep * 5); + info("OTA", "OTA Progress: %3d%%", currentStep * 5); otaLastLogStep = currentStep; } }); ArduinoOTA.onEnd([] { - info("OTA", "Complete!"); + info("OTA", "OTA Complete!"); }); ArduinoOTA.onError([](ota_error_t e) { const char *name; @@ -101,7 +101,7 @@ void bootDelay() { yield(); wifiLoop(); } - info("BOOT DELAY", "Completed."); + info("BOOT DELAY", "Boot delay completed!"); #endif } @@ -120,7 +120,7 @@ void wifiLoop() { if (wifiConnected) { if (!hasIp) { wifiConnected = false; - info("WIFI", "Disconnected!"); + info("WIFI", "WiFi disconnected!"); wifiConnect(); } } else { @@ -128,7 +128,7 @@ void wifiLoop() { wifiConnected = true; info("WIFI", "Connected as: %s", WiFi.localIP().toString().c_str()); } else if (millis() - wifiLastConnectTry > 10000) { - info("WIFI", "Timeout!"); + info("WIFI", "WiFi timeout!"); wifiConnect(); } }