limit weblog buffer on low heap, use deque

This commit is contained in:
MichaelDvP
2022-11-17 16:18:12 +01:00
parent ae4070b7f2
commit 6e92d31f5d
2 changed files with 11 additions and 7 deletions

View File

@@ -110,6 +110,10 @@ WebLogService::QueuedLogMessage::QueuedLogMessage(unsigned long id, std::shared_
}
void WebLogService::operator<<(std::shared_ptr<uuid::log::Message> message) {
if (ESP.getMaxAllocHeap() < 20480) {
maximum_log_messages(maximum_log_messages_ > 25 ? maximum_log_messages_ - 25 : 10);
// EMSESP::logger().warning("Low memory: WebLog buffer reduced to %d entries", maximum_log_messages_);
}
if (log_messages_.size() >= maximum_log_messages_) {
log_messages_.pop_front();
}