11#ifdef USE_STORE_LOG_STR_IN_FLASH
27#define ESPHOME_LOG_LEVEL_NONE 0
28#define ESPHOME_LOG_LEVEL_ERROR 1
29#define ESPHOME_LOG_LEVEL_WARN 2
30#define ESPHOME_LOG_LEVEL_INFO 3
31#define ESPHOME_LOG_LEVEL_CONFIG 4
32#define ESPHOME_LOG_LEVEL_DEBUG 5
33#define ESPHOME_LOG_LEVEL_VERBOSE 6
34#define ESPHOME_LOG_LEVEL_VERY_VERBOSE 7
36#ifndef ESPHOME_LOG_LEVEL
37#define ESPHOME_LOG_LEVEL ESPHOME_LOG_LEVEL_NONE
40#define ESPHOME_LOG_COLOR_BLACK "30"
41#define ESPHOME_LOG_COLOR_RED "31"
42#define ESPHOME_LOG_COLOR_GREEN "32"
43#define ESPHOME_LOG_COLOR_YELLOW "33"
44#define ESPHOME_LOG_COLOR_BLUE "34"
45#define ESPHOME_LOG_COLOR_MAGENTA "35"
46#define ESPHOME_LOG_COLOR_CYAN "36"
47#define ESPHOME_LOG_COLOR_GRAY "37"
48#define ESPHOME_LOG_COLOR_WHITE "38"
49#define ESPHOME_LOG_SECRET_BEGIN "\033[5m"
50#define ESPHOME_LOG_SECRET_END "\033[6m"
51#define LOG_SECRET(x) ESPHOME_LOG_SECRET_BEGIN x ESPHOME_LOG_SECRET_END
53#define ESPHOME_LOG_COLOR(COLOR) "\033[0;" COLOR "m"
54#define ESPHOME_LOG_BOLD(COLOR) "\033[1;" COLOR "m"
55#define ESPHOME_LOG_RESET_COLOR "\033[0m"
57void esp_log_printf_(
int level,
const char *tag,
int line,
const char *format, ...)
59#ifdef USE_STORE_LOG_STR_IN_FLASH
60void esp_log_printf_(
int level,
const char *tag,
int line,
const __FlashStringHelper *format, ...);
62void esp_log_vprintf_(
int level,
const char *tag,
int line,
const char *format, va_list args);
63#ifdef USE_STORE_LOG_STR_IN_FLASH
64void esp_log_vprintf_(
int level,
const char *tag,
int line,
const __FlashStringHelper *format, va_list args);
70#ifdef USE_STORE_LOG_STR_IN_FLASH
71#define ESPHOME_LOG_FORMAT(format) F(format)
73#define ESPHOME_LOG_FORMAT(format) format
76#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE
77#define esph_log_vv(tag, format, ...) \
78 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_VERY_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
80#define ESPHOME_LOG_HAS_VERY_VERBOSE
82#define esph_log_vv(tag, format, ...)
85#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE
86#define esph_log_v(tag, format, ...) \
87 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
89#define ESPHOME_LOG_HAS_VERBOSE
91#define esph_log_v(tag, format, ...)
94#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG
95#define esph_log_d(tag, format, ...) \
96 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_DEBUG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
97#define esph_log_config(tag, format, ...) \
98 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_CONFIG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
100#define ESPHOME_LOG_HAS_DEBUG
101#define ESPHOME_LOG_HAS_CONFIG
103#define esph_log_d(tag, format, ...)
104#define esph_log_config(tag, format, ...)
107#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_INFO
108#define esph_log_i(tag, format, ...) \
109 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_INFO, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
111#define ESPHOME_LOG_HAS_INFO
113#define esph_log_i(tag, format, ...)
116#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_WARN
117#define esph_log_w(tag, format, ...) \
118 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_WARN, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
120#define ESPHOME_LOG_HAS_WARN
122#define esph_log_w(tag, format, ...)
125#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_ERROR
126#define esph_log_e(tag, format, ...) \
127 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_ERROR, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
129#define ESPHOME_LOG_HAS_ERROR
131#define esph_log_e(tag, format, ...)
150#define ESP_LOGE(tag, ...) esph_log_e(tag, __VA_ARGS__)
151#define ESP_LOGW(tag, ...) esph_log_w(tag, __VA_ARGS__)
152#define ESP_LOGI(tag, ...) esph_log_i(tag, __VA_ARGS__)
153#define ESP_LOGD(tag, ...) esph_log_d(tag, __VA_ARGS__)
154#define ESP_LOGCONFIG(tag, ...) esph_log_config(tag, __VA_ARGS__)
155#define ESP_LOGV(tag, ...) esph_log_v(tag, __VA_ARGS__)
156#define ESP_LOGVV(tag, ...) esph_log_vv(tag, __VA_ARGS__)
158#define BYTE_TO_BINARY_PATTERN "%c%c%c%c%c%c%c%c"
159#define BYTE_TO_BINARY(byte) \
160 ((byte) &0x80 ? '1' : '0'), ((byte) &0x40 ? '1' : '0'), ((byte) &0x20 ? '1' : '0'), ((byte) &0x10 ? '1' : '0'), \
161 ((byte) &0x08 ? '1' : '0'), ((byte) &0x04 ? '1' : '0'), ((byte) &0x02 ? '1' : '0'), ((byte) &0x01 ? '1' : '0')
162#define YESNO(b) ((b) ? "YES" : "NO")
163#define ONOFF(b) ((b) ? "ON" : "OFF")
164#define TRUEFALSE(b) ((b) ? "TRUE" : "FALSE")
166#define ONOFFMAYBE(b) (((b).has_value()) ? ONOFF((b).value()) : "UNKNOWN")
171#ifdef USE_STORE_LOG_STR_IN_FLASH
175#if USE_ARDUINO_VERSION_CODE >= VERSION_CODE(2, 5, 0)
176#define LOG_STR_ARG(s) ((PGM_P) (s))
181#define LOG_STR_ARG(s) \
185 strncpy_P(__buf, (PGM_P) (s), 63); \
190#define LOG_STR(s) (reinterpret_cast<const LogString *>(PSTR(s)))
191#define LOG_STR_LITERAL(s) LOG_STR_ARG(LOG_STR(s))
195#define LOG_STR(s) (reinterpret_cast<const LogString *>(s))
196#define LOG_STR_ARG(s) (reinterpret_cast<const char *>(s))
197#define LOG_STR_LITERAL(s) (s)
struct @65::@66 __attribute__
Providing packet encoding functions for exchanging data with a remote host.
int HOT esp_idf_log_vprintf_(const char *format, va_list args)
void HOT esp_log_printf_(int level, const char *tag, int line, const char *format,...)
void HOT esp_log_vprintf_(int level, const char *tag, int line, const char *format, va_list args)