Show realtime debug log in WebUI #71

This commit is contained in:
proddy
2021-06-16 14:54:36 +02:00
parent fc2bcd50ca
commit 19b37d9e0e
15 changed files with 320 additions and 82 deletions

View File

@@ -27,6 +27,8 @@
#include <uuid/log.h>
#define EVENT_SOURCE_LOG_PATH "/es/log"
#define FETCH_LOG_PATH "/rest/fetchLog"
#define LOG_SETTINGS_PATH "/rest/logSettings"
namespace emsesp {
@@ -59,14 +61,18 @@ class WebLogService : public uuid::log::Handler {
};
void forbidden(AsyncWebServerRequest * request);
void remove_queued_messages(uuid::log::Level level);
bool can_transmit();
void transmit(const QueuedLogMessage & message);
void fetchLog(AsyncWebServerRequest * request);
void getLevel(AsyncWebServerRequest * request);
void setLevel(AsyncWebServerRequest * request, JsonVariant & json);
AsyncCallbackJsonWebHandler _setLevel; // for POSTs
uint64_t last_transmit_ = 0; // Last transmit time
size_t maximum_log_messages_ = MAX_LOG_MESSAGES; // Maximum number of log messages to buffer before they are output
unsigned long log_message_id_ = 0; // The next identifier to use for queued log messages
std::list<QueuedLogMessage> log_messages_; // Queued log messages, in the order they were received
unsigned long log_message_id_tail_ = 0;
std::list<QueuedLogMessage> log_messages_; // Queued log messages, in the order they were received
};
} // namespace emsesp