31#ifdef HF_MCU_FAMILY_ESP32
39#include "freertos/FreeRTOS.h"
40#include "freertos/task.h"
43#ifdef CONFIG_LOG_VERSION_2
44#include "esp_log_v2.h"
129 EspLogger() noexcept;
134 ~EspLogger() noexcept override;
157 bool IsInitialized() const noexcept override;
163 bool EnsureInitialized() noexcept override;
192 hf_logger_err_t Error(const
char* tag, const
char* format, ...) noexcept override;
201 hf_logger_err_t Warn(const
char* tag, const
char* format, ...) noexcept override;
210 hf_logger_err_t Info(const
char* tag, const
char* format, ...) noexcept override;
219 hf_logger_err_t Debug(const
char* tag, const
char* format, ...) noexcept override;
228 hf_logger_err_t Verbose(const
char* tag, const
char* format, ...) noexcept override;
239 ...) noexcept override;
250 va_list args) noexcept override;
264 hf_u32_t line, const
char* function, const
char* format,
265 ...) noexcept override;
331 bool IsLevelEnabled(
hf_log_level_t level, const
char* tag =
nullptr) const noexcept override;
363 bool IsHealthy() const noexcept override;
383 bool IsLogV2Available() const noexcept;
389 hf_u8_t GetLogVersion() const noexcept;
402 bool detailed = true) const noexcept override;
411 bool detailed = true) const noexcept override;
420 bool detailed = true) const noexcept override;
428 std::atomic<
bool> initialized_;
429 std::atomic<
bool> healthy_;
436 std::vector<
char> message_buffer_;
439 char last_error_message_[256];
445 bool log_v2_available_;
457 esp_log_level_t ConvertLogLevel(
hf_log_level_t level) const noexcept;
464 hf_log_level_t ConvertLogLevel(esp_log_level_t level) const noexcept;
480 hf_u32_t line, const
char* function, const
char* format,
481 va_list args,
char* formatted_message,
504 va_list args) noexcept;
524 bool PerformHealthCheck() noexcept;
538 const
char* ConvertErrorToString(
hf_logger_err_t error) const noexcept;
544 hf_u64_t GetCurrentTimestamp() const noexcept;
550 hf_u32_t GetCurrentThreadId() const noexcept;
557 bool EnsureMessageBuffer(
hf_u32_t required_length) noexcept;
563 bool InitializeLogV2() noexcept;
569 bool CheckLogV2Availability() const noexcept;
Unified logging base class for all logging implementations.
hf_logger_err_t
Definition BaseLogger.h:88
uint32_t hf_u32_t
Platform-agnostic 32-bit unsigned integer type.
Definition HardwareTypes.h:52
uint8_t hf_u8_t
Platform-agnostic 8-bit unsigned integer type.
Definition HardwareTypes.h:40
uint64_t hf_u64_t
Platform-agnostic 64-bit unsigned integer type.
Definition HardwareTypes.h:58
Base logger abstract class.
Definition BaseLogger.h:358
hf_log_level_t
Log levels enumeration.
Definition BaseLogger.h:95
@ LOG_LEVEL_INFO
Info, warning, and error messages.
Logger configuration structure.
Definition BaseLogger.h:154
Logger diagnostics structure.
Definition BaseLogger.h:187
Logger statistics structure.
Definition BaseLogger.h:170