mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-05-06 05:55:53 +00:00
weblog queue complete in psram, save weblog settings in one call
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#define EMSESP_LOG_SETTINGS_PATH "/rest/logSettings"
|
||||
#ifndef EMSESP_STANDALONE
|
||||
#include <esp32-psram.h>
|
||||
using stringPSRAM = std::basic_string<char, std::char_traits<char>, AllocatorPSRAM<char>>;
|
||||
#endif
|
||||
|
||||
using ::uuid::console::Shell;
|
||||
@@ -36,17 +37,11 @@ class WebLogService : public uuid::log::Handler {
|
||||
|
||||
WebLogService(AsyncWebServer * server, SecurityManager * securityManager);
|
||||
|
||||
void begin();
|
||||
void start();
|
||||
uuid::log::Level log_level() const;
|
||||
void log_level(uuid::log::Level level);
|
||||
size_t maximum_log_messages() const;
|
||||
size_t num_log_messages() const;
|
||||
void maximum_log_messages(size_t count);
|
||||
bool compact() const;
|
||||
void compact(bool compact);
|
||||
void loop();
|
||||
void show(Shell & shell);
|
||||
void begin();
|
||||
void start();
|
||||
size_t num_log_messages() const;
|
||||
void loop();
|
||||
void show(Shell & shell);
|
||||
|
||||
virtual void operator<<(std::shared_ptr<uuid::log::Message> message);
|
||||
|
||||
@@ -55,12 +50,20 @@ class WebLogService : public uuid::log::Handler {
|
||||
|
||||
class QueuedLogMessage {
|
||||
public:
|
||||
QueuedLogMessage(unsigned long id, std::shared_ptr<uuid::log::Message> && content);
|
||||
QueuedLogMessage(unsigned long id, uint64_t uptime, uuid::log::Level level, const char * name, std::string text);
|
||||
|
||||
~QueuedLogMessage() = default;
|
||||
|
||||
unsigned long id_; // Sequential identifier for this log message
|
||||
struct timeval time_; // Time message was received
|
||||
const std::shared_ptr<const uuid::log::Message> content_; // Log message content
|
||||
unsigned long id_; // Sequential identifier for this log message
|
||||
struct timeval time_; // Time message was received
|
||||
uint64_t uptime_;
|
||||
uuid::log::Level level_;
|
||||
const char * name_;
|
||||
#ifndef EMSESP_STANDALONE
|
||||
stringPSRAM text_;
|
||||
#else
|
||||
std::string text_;
|
||||
#endif
|
||||
};
|
||||
|
||||
void transmit(const QueuedLogMessage & message);
|
||||
@@ -73,11 +76,12 @@ class WebLogService : public uuid::log::Handler {
|
||||
#else
|
||||
std::deque<QueuedLogMessage> log_messages_; // Queued log messages, in the order they were received
|
||||
#endif
|
||||
size_t maximum_log_messages_ = MAX_LOG_MESSAGES; // Maximum number of log messages to buffer before they are output
|
||||
size_t limit_log_messages_ = 1; // dynamic limit
|
||||
unsigned long log_message_id_ = 0; // The next identifier to use for queued log messages
|
||||
unsigned long log_message_id_tail_ = 0; // last event shown on the screen after fetch
|
||||
bool compact_ = true;
|
||||
size_t maximum_log_messages_ = MAX_LOG_MESSAGES; // Maximum number of log messages to buffer before they are output
|
||||
size_t limit_log_messages_ = 1; // dynamic limit
|
||||
unsigned long log_message_id_ = 0; // The next identifier to use for queued log messages
|
||||
unsigned long log_message_id_tail_ = 0; // last event shown on the screen after fetch
|
||||
bool compact_ = true;
|
||||
uuid::log::Level level_ = uuid::log::Level::INFO;
|
||||
};
|
||||
|
||||
} // namespace emsesp
|
||||
|
||||
Reference in New Issue
Block a user