From e32565b36abed5b7b78857df52f2e624c6b127f8 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 21 Mar 2026 17:00:26 -1000 Subject: [PATCH] Inline init_log_buffer_ into constructor --- esphome/components/logger/logger.cpp | 14 ++++---------- esphome/components/logger/logger.h | 1 - 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/esphome/components/logger/logger.cpp b/esphome/components/logger/logger.cpp index 3e8988b193b..ceacded7756 100644 --- a/esphome/components/logger/logger.cpp +++ b/esphome/components/logger/logger.cpp @@ -165,18 +165,12 @@ Logger::Logger(uint32_t baud_rate) : baud_rate_(baud_rate) { this->main_thread_ = pthread_self(); #endif #ifdef USE_ESPHOME_TASK_LOG_BUFFER - this->init_log_buffer_(task_log_buffer_size); -#endif -} -#ifdef USE_ESPHOME_TASK_LOG_BUFFER -void Logger::init_log_buffer_(size_t total_buffer_size) { // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - allocated once, never freed - this->log_buffer_ = new logger::TaskLogBuffer(total_buffer_size); - // Note: we don't call disable_loop_when_buffer_empty_() here because this is called - // from the constructor before the component is registered with App. The loop will - // self-disable on its first iteration when it finds no messages to process. -} + this->log_buffer_ = new logger::TaskLogBuffer(task_log_buffer_size); + // Note: we don't disable loop here because the component isn't registered with App yet. + // The loop self-disables on its first iteration when it finds no messages to process. #endif +} #if defined(USE_ESPHOME_TASK_LOG_BUFFER) || (defined(USE_ZEPHYR) && defined(USE_LOGGER_UART_SELECTION_USB_CDC)) void Logger::loop() { diff --git a/esphome/components/logger/logger.h b/esphome/components/logger/logger.h index 0697d6886fc..c81b8e4e94f 100644 --- a/esphome/components/logger/logger.h +++ b/esphome/components/logger/logger.h @@ -354,7 +354,6 @@ class Logger final : public Component { std::vector level_listeners_; // Log level change listeners #endif #ifdef USE_ESPHOME_TASK_LOG_BUFFER - void init_log_buffer_(size_t total_buffer_size); logger::TaskLogBuffer *log_buffer_{nullptr}; // Allocated once, never freed #endif