ESPHome  2022.1.1
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, UARTSelection uart)
 
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
 
HardwareSerial * get_hw_serial () const
 
uart_port_t get_uart_num () const
 
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...
 
virtual void loop ()
 This method will be called repeatedly. 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 ()
 
virtual bool can_proceed ()
 
bool status_has_warning ()
 
bool status_has_error ()
 
void status_set_warning ()
 
void status_set_error ()
 
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)
 
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,...)
 
- 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()> &&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()> &&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}
 
HardwareSerial * 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...
 
- 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 35 of file logger.h.

Constructor & Destructor Documentation

◆ Logger()

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

Definition at line 137 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 221 of file logger.cpp.

◆ buffer_remaining_capacity_()

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

Definition at line 79 of file logger.h.

◆ dump_config()

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

Reimplemented from esphome::Component.

Definition at line 232 of file logger.cpp.

◆ get_baud_rate()

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

Definition at line 41 of file logger.h.

◆ get_hw_serial()

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

Definition at line 43 of file logger.h.

◆ get_setup_priority()

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

Reimplemented from esphome::Component.

Definition at line 224 of file logger.cpp.

◆ get_uart()

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

Get the UART used by the logger.

Definition at line 220 of file logger.cpp.

◆ get_uart_num()

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

Definition at line 46 of file logger.h.

◆ is_buffer_full_()

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

Definition at line 78 of file logger.h.

◆ level_for()

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

Definition at line 94 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 105 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 51 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 64 of file logger.cpp.

◆ pre_setup()

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

Set up this component.

Definition at line 143 of file logger.cpp.

◆ printf_to_buffer_()

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

Definition at line 109 of file logger.h.

◆ reset_buffer_()

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

Definition at line 80 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 216 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 217 of file logger.cpp.

◆ set_null_terminator_()

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

Definition at line 81 of file logger.h.

◆ vprintf_to_buffer_()

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

Definition at line 94 of file logger.h.

◆ write_footer_()

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

Definition at line 241 of file logger.cpp.

◆ write_header_()

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

Definition at line 40 of file logger.cpp.

◆ write_to_buffer_() [1/2]

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

Definition at line 85 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 89 of file logger.h.

Field Documentation

◆ baud_rate_

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

Definition at line 116 of file logger.h.

◆ hw_serial_

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

Definition at line 122 of file logger.h.

◆ log_callback_

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

Definition at line 132 of file logger.h.

◆ log_levels_

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

Definition at line 131 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 134 of file logger.h.

◆ tx_buffer_

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

Definition at line 117 of file logger.h.

◆ tx_buffer_at_

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

Definition at line 118 of file logger.h.

◆ tx_buffer_size_

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

Definition at line 119 of file logger.h.

◆ uart_

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

Definition at line 120 of file logger.h.

◆ uart_num_

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

Definition at line 125 of file logger.h.


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