added extented log feature with MQTT publish
This commit is contained in:
parent
d0713e9fa8
commit
b08a1e8c5a
|
|
@ -128,4 +128,5 @@ void RegGSMReset(void (*gsm_rst)(uint8_t level));
|
|||
void GenerateSystemSettingsJSONFile(void);
|
||||
void mDNSServiceStart(void);
|
||||
|
||||
esp_err_t ExtendedLog(esp_log_level_t level, char *format, ...);
|
||||
#endif /* MAIN_INCLUDE_NETTRANSPORT_H_ */
|
||||
|
|
|
|||
52
src/MQTT.c
52
src/MQTT.c
|
|
@ -453,3 +453,55 @@ static void mqtt2_user_event_handler(void *handler_args, esp_event_base_t base,
|
|||
}
|
||||
|
||||
#endif
|
||||
|
||||
#define MAX_MQTT_LOG_MESSAGE (1024)
|
||||
#define SPIRAL_LOG_TAG "SystemExtendedLog"
|
||||
char data[MAX_MQTT_LOG_MESSAGE];
|
||||
esp_err_t ExtendedLog(esp_log_level_t level, char *format, ...)
|
||||
{
|
||||
va_list arg;
|
||||
va_start(arg, format);
|
||||
va_end(arg);
|
||||
vsnprintf(data, MAX_MQTT_LOG_MESSAGE, format, arg);
|
||||
switch(level)
|
||||
{
|
||||
case ESP_LOG_INFO:
|
||||
case ESP_LOG_DEBUG:
|
||||
case ESP_LOG_VERBOSE:
|
||||
case ESP_LOG_NONE:
|
||||
ESP_LOGI(SPIRAL_LOG_TAG, "%s", data);
|
||||
break;
|
||||
case ESP_LOG_WARN:
|
||||
ESP_LOGW(SPIRAL_LOG_TAG, "%s", data);
|
||||
break;
|
||||
case ESP_LOG_ERROR:
|
||||
ESP_LOGE(SPIRAL_LOG_TAG, "%s", data);
|
||||
break;
|
||||
}
|
||||
|
||||
for (int idx = 0; idx < 2; idx++)
|
||||
{
|
||||
if (GetMQTTHandlesPool(idx)->mqtt_queue == NULL)
|
||||
continue;
|
||||
char time[RFC3339_TIMESTAMP_LENGTH];
|
||||
GetRFC3339Time(time);
|
||||
char *buf = (char*) malloc(strlen(data) + RFC3339_TIMESTAMP_LENGTH + 2);
|
||||
if (buf)
|
||||
{
|
||||
strcpy(buf, time);
|
||||
strcat(buf, " ");
|
||||
strcat(buf, data);
|
||||
MQTT_DATA_SEND_STRUCT DSS;
|
||||
ComposeTopic(DSS.topic, idx, "LOG", "UPLINK");
|
||||
DSS.raw_data_ptr = buf;
|
||||
DSS.data_length = strlen(buf);
|
||||
if (xQueueSend(GetMQTTHandlesPool(idx)->mqtt_queue, &DSS, pdMS_TO_TICKS(1000)) != pdPASS)
|
||||
free(buf);
|
||||
continue;
|
||||
}
|
||||
return ESP_ERR_NO_MEM;
|
||||
}
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user