ESPHome  2024.12.2
Data Structures | Public Member Functions | Protected Member Functions | Protected Attributes
esphome::logger::Logger Class Reference

#include <logger.h>

Inheritance diagram for esphome::logger::Logger:
esphome::Component

Data Structures

struct  LogLevelOverride
 

Public Member Functions

 Logger (uint32_t baud_rate, size_t tx_buffer_size)
 
void loop () override
 
void set_baud_rate (uint32_t baud_rate)
 Manually set the baud rate for serial, set to 0 to disable. More...
 
uint32_t get_baud_rate () const
 
Stream * get_hw_serial () const
 
uart_port_t get_uart_num () const
 
void set_uart_selection (UARTSelection uart_selection)
 
UARTSelection get_uart () const
 Get the UART used by the logger. More...
 
void set_log_level (const std::string &tag, int log_level)
 Set the log level of the specified tag. More...
 
void pre_setup ()
 Set up this component. More...
 
void dump_config () override
 
int level_for (const char *tag)
 
void add_on_log_callback (std::function< void(int, const char *, const char *)> &&callback)
 Register a callback that will be called for every log message sent. More...
 
float get_setup_priority () const override
 
void log_vprintf_ (int level, const char *tag, int line, const char *format, va_list args)
 
void log_vprintf_ (int level, const char *tag, int line, const __FlashStringHelper *format, va_list args)
 
- Public Member Functions inherited from esphome::Component
virtual void setup ()
 Where the component's initialization should happen. More...
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 

Protected Member Functions

void write_header_ (int level, const char *tag, int line)
 
void write_footer_ ()
 
void log_message_ (int level, const char *tag, int offset=0)
 
void write_msg_ (const char *msg)
 
bool is_buffer_full_ () const
 
int buffer_remaining_capacity_ () const
 
void reset_buffer_ ()
 
void set_null_terminator_ ()
 
void write_to_buffer_ (char value)
 
void write_to_buffer_ (const char *value, int length)
 
void vprintf_to_buffer_ (const char *format, va_list args)
 
void printf_to_buffer_ (const char *format,...)
 
const char * get_uart_selection_ ()
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_setup ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

uint32_t baud_rate_
 
char * tx_buffer_ {nullptr}
 
int tx_buffer_at_ {0}
 
int tx_buffer_size_ {0}
 
UARTSelection uart_ {UART_SELECTION_UART0}
 
Stream * hw_serial_ {nullptr}
 
uart_port_t uart_num_
 
std::vector< LogLevelOverridelog_levels_
 
CallbackManager< void(int, const char *, const char *)> log_callback_ {}
 
bool recursion_guard_ = false
 Prevents recursive log calls, if true a log message is already being processed. More...
 
void * main_task_ = nullptr
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Detailed Description

Definition at line 56 of file logger.h.

Constructor & Destructor Documentation

◆ Logger()

esphome::logger::Logger::Logger ( uint32_t  baud_rate,
size_t  tx_buffer_size 
)
explicit

Definition at line 143 of file logger.cpp.

Member Function Documentation

◆ add_on_log_callback()

void esphome::logger::Logger::add_on_log_callback ( std::function< void(int, const char *, const char *)> &&  callback)

Register a callback that will be called for every log message sent.

Definition at line 178 of file logger.cpp.

◆ buffer_remaining_capacity_()

int esphome::logger::Logger::buffer_remaining_capacity_ ( ) const
inlineprotected

Definition at line 105 of file logger.h.

◆ dump_config()

void esphome::logger::Logger::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 184 of file logger.cpp.

◆ get_baud_rate()

uint32_t esphome::logger::Logger::get_baud_rate ( ) const
inline

Definition at line 64 of file logger.h.

◆ get_hw_serial()

Stream* esphome::logger::Logger::get_hw_serial ( ) const
inline

Definition at line 66 of file logger.h.

◆ get_setup_priority()

float esphome::logger::Logger::get_setup_priority ( ) const
overridevirtual

Reimplemented from esphome::Component.

Definition at line 181 of file logger.cpp.

◆ get_uart()

UARTSelection esphome::logger::Logger::get_uart ( ) const

Get the UART used by the logger.

Definition at line 175 of file logger.cpp.

◆ get_uart_num()

uart_port_t esphome::logger::Logger::get_uart_num ( ) const
inline

Definition at line 69 of file logger.h.

◆ get_uart_selection_()

const char * esphome::logger::Logger::get_uart_selection_ ( )
protected

Definition at line 210 of file logger_esp32.cpp.

◆ is_buffer_full_()

bool esphome::logger::Logger::is_buffer_full_ ( ) const
inlineprotected

Definition at line 104 of file logger.h.

◆ level_for()

int HOT esphome::logger::Logger::level_for ( const char *  tag)

Definition at line 104 of file logger.cpp.

◆ log_message_()

void HOT esphome::logger::Logger::log_message_ ( int  level,
const char *  tag,
int  offset = 0 
)
protected

Definition at line 116 of file logger.cpp.

◆ log_vprintf_() [1/2]

void HOT esphome::logger::Logger::log_vprintf_ ( int  level,
const char *  tag,
int  line,
const char *  format,
va_list  args 
)

Definition at line 61 of file logger.cpp.

◆ log_vprintf_() [2/2]

void esphome::logger::Logger::log_vprintf_ ( int  level,
const char *  tag,
int  line,
const __FlashStringHelper *  format,
va_list  args 
)

Definition at line 74 of file logger.cpp.

◆ loop()

void esphome::logger::Logger::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 152 of file logger.cpp.

◆ pre_setup()

void esphome::logger::Logger::pre_setup ( )

Set up this component.

Definition at line 97 of file logger_esp32.cpp.

◆ printf_to_buffer_()

void esphome::logger::Logger::printf_to_buffer_ ( const char *  format,
  ... 
)
inlineprotected

Definition at line 135 of file logger.h.

◆ reset_buffer_()

void esphome::logger::Logger::reset_buffer_ ( )
inlineprotected

Definition at line 106 of file logger.h.

◆ set_baud_rate()

void esphome::logger::Logger::set_baud_rate ( uint32_t  baud_rate)

Manually set the baud rate for serial, set to 0 to disable.

Definition at line 169 of file logger.cpp.

◆ set_log_level()

void esphome::logger::Logger::set_log_level ( const std::string &  tag,
int  log_level 
)

Set the log level of the specified tag.

Definition at line 170 of file logger.cpp.

◆ set_null_terminator_()

void esphome::logger::Logger::set_null_terminator_ ( )
inlineprotected

Definition at line 107 of file logger.h.

◆ set_uart_selection()

void esphome::logger::Logger::set_uart_selection ( UARTSelection  uart_selection)
inline

Definition at line 72 of file logger.h.

◆ vprintf_to_buffer_()

void esphome::logger::Logger::vprintf_to_buffer_ ( const char *  format,
va_list  args 
)
inlineprotected

Definition at line 120 of file logger.h.

◆ write_footer_()

void esphome::logger::Logger::write_footer_ ( )
protected

Definition at line 196 of file logger.cpp.

◆ write_header_()

void esphome::logger::Logger::write_header_ ( int  level,
const char *  tag,
int  line 
)
protected

Definition at line 34 of file logger.cpp.

◆ write_msg_()

void HOT esphome::logger::Logger::write_msg_ ( const char *  msg)
protected

Definition at line 175 of file logger_esp32.cpp.

◆ write_to_buffer_() [1/2]

void esphome::logger::Logger::write_to_buffer_ ( char  value)
inlineprotected

Definition at line 111 of file logger.h.

◆ write_to_buffer_() [2/2]

void esphome::logger::Logger::write_to_buffer_ ( const char *  value,
int  length 
)
inlineprotected

Definition at line 115 of file logger.h.

Field Documentation

◆ baud_rate_

uint32_t esphome::logger::Logger::baud_rate_
protected

Definition at line 146 of file logger.h.

◆ hw_serial_

Stream* esphome::logger::Logger::hw_serial_ {nullptr}
protected

Definition at line 157 of file logger.h.

◆ log_callback_

CallbackManager<void(int, const char *, const char *)> esphome::logger::Logger::log_callback_ {}
protected

Definition at line 167 of file logger.h.

◆ log_levels_

std::vector<LogLevelOverride> esphome::logger::Logger::log_levels_
protected

Definition at line 166 of file logger.h.

◆ main_task_

void* esphome::logger::Logger::main_task_ = nullptr
protected

Definition at line 170 of file logger.h.

◆ recursion_guard_

bool esphome::logger::Logger::recursion_guard_ = false
protected

Prevents recursive log calls, if true a log message is already being processed.

Definition at line 169 of file logger.h.

◆ tx_buffer_

char* esphome::logger::Logger::tx_buffer_ {nullptr}
protected

Definition at line 147 of file logger.h.

◆ tx_buffer_at_

int esphome::logger::Logger::tx_buffer_at_ {0}
protected

Definition at line 148 of file logger.h.

◆ tx_buffer_size_

int esphome::logger::Logger::tx_buffer_size_ {0}
protected

Definition at line 149 of file logger.h.

◆ uart_

UARTSelection esphome::logger::Logger::uart_ {UART_SELECTION_UART0}
protected

Definition at line 151 of file logger.h.

◆ uart_num_

uart_port_t esphome::logger::Logger::uart_num_
protected

Definition at line 160 of file logger.h.


The documentation for this class was generated from the following files: