11#ifdef USE_STORE_LOG_STR_IN_FLASH
17#if defined(USE_ESP32_FRAMEWORK_ARDUINO) || defined(USE_ESP_IDF)
21#ifdef USE_ESP32_FRAMEWORK_ARDUINO
22#include <esp32-hal-log.h>
30#define ESPHOME_LOG_LEVEL_NONE 0
31#define ESPHOME_LOG_LEVEL_ERROR 1
32#define ESPHOME_LOG_LEVEL_WARN 2
33#define ESPHOME_LOG_LEVEL_INFO 3
34#define ESPHOME_LOG_LEVEL_CONFIG 4
35#define ESPHOME_LOG_LEVEL_DEBUG 5
36#define ESPHOME_LOG_LEVEL_VERBOSE 6
37#define ESPHOME_LOG_LEVEL_VERY_VERBOSE 7
39#ifndef ESPHOME_LOG_LEVEL
40#define ESPHOME_LOG_LEVEL ESPHOME_LOG_LEVEL_NONE
43#define ESPHOME_LOG_COLOR_BLACK "30"
44#define ESPHOME_LOG_COLOR_RED "31"
45#define ESPHOME_LOG_COLOR_GREEN "32"
46#define ESPHOME_LOG_COLOR_YELLOW "33"
47#define ESPHOME_LOG_COLOR_BLUE "34"
48#define ESPHOME_LOG_COLOR_MAGENTA "35"
49#define ESPHOME_LOG_COLOR_CYAN "36"
50#define ESPHOME_LOG_COLOR_GRAY "37"
51#define ESPHOME_LOG_COLOR_WHITE "38"
52#define ESPHOME_LOG_SECRET_BEGIN "\033[5m"
53#define ESPHOME_LOG_SECRET_END "\033[6m"
54#define LOG_SECRET(x) ESPHOME_LOG_SECRET_BEGIN x ESPHOME_LOG_SECRET_END
56#define ESPHOME_LOG_COLOR(COLOR) "\033[0;" COLOR "m"
57#define ESPHOME_LOG_BOLD(COLOR) "\033[1;" COLOR "m"
58#define ESPHOME_LOG_RESET_COLOR "\033[0m"
60void esp_log_printf_(
int level,
const char *tag,
int line,
const char *format, ...)
62#ifdef USE_STORE_LOG_STR_IN_FLASH
63void esp_log_printf_(
int level,
const char *tag,
int line,
const __FlashStringHelper *format, ...);
65void esp_log_vprintf_(
int level,
const char *tag,
int line,
const char *format, va_list args);
66#ifdef USE_STORE_LOG_STR_IN_FLASH
67void esp_log_vprintf_(
int level,
const char *tag,
int line,
const __FlashStringHelper *format, va_list args);
69#if defined(USE_ESP32_FRAMEWORK_ARDUINO) || defined(USE_ESP_IDF)
73#ifdef USE_STORE_LOG_STR_IN_FLASH
74#define ESPHOME_LOG_FORMAT(format) F(format)
76#define ESPHOME_LOG_FORMAT(format) format
79#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE
80#define esph_log_vv(tag, format, ...) \
81 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_VERY_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
83#define ESPHOME_LOG_HAS_VERY_VERBOSE
85#define esph_log_vv(tag, format, ...)
88#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE
89#define esph_log_v(tag, format, ...) \
90 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
92#define ESPHOME_LOG_HAS_VERBOSE
94#define esph_log_v(tag, format, ...)
97#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG
98#define esph_log_d(tag, format, ...) \
99 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_DEBUG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
100#define esph_log_config(tag, format, ...) \
101 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_CONFIG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
103#define ESPHOME_LOG_HAS_DEBUG
104#define ESPHOME_LOG_HAS_CONFIG
106#define esph_log_d(tag, format, ...)
107#define esph_log_config(tag, format, ...)
110#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_INFO
111#define esph_log_i(tag, format, ...) \
112 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_INFO, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
114#define ESPHOME_LOG_HAS_INFO
116#define esph_log_i(tag, format, ...)
119#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_WARN
120#define esph_log_w(tag, format, ...) \
121 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_WARN, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
123#define ESPHOME_LOG_HAS_WARN
125#define esph_log_w(tag, format, ...)
128#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_ERROR
129#define esph_log_e(tag, format, ...) \
130 ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_ERROR, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
132#define ESPHOME_LOG_HAS_ERROR
134#define esph_log_e(tag, format, ...)
153#define ESP_LOGE(tag, ...) esph_log_e(tag, __VA_ARGS__)
154#define ESP_LOGW(tag, ...) esph_log_w(tag, __VA_ARGS__)
155#define ESP_LOGI(tag, ...) esph_log_i(tag, __VA_ARGS__)
156#define ESP_LOGD(tag, ...) esph_log_d(tag, __VA_ARGS__)
157#define ESP_LOGCONFIG(tag, ...) esph_log_config(tag, __VA_ARGS__)
158#define ESP_LOGV(tag, ...) esph_log_v(tag, __VA_ARGS__)
159#define ESP_LOGVV(tag, ...) esph_log_vv(tag, __VA_ARGS__)
161#define BYTE_TO_BINARY_PATTERN "%c%c%c%c%c%c%c%c"
162#define BYTE_TO_BINARY(byte) \
163 ((byte) &0x80 ? '1' : '0'), ((byte) &0x40 ? '1' : '0'), ((byte) &0x20 ? '1' : '0'), ((byte) &0x10 ? '1' : '0'), \
164 ((byte) &0x08 ? '1' : '0'), ((byte) &0x04 ? '1' : '0'), ((byte) &0x02 ? '1' : '0'), ((byte) &0x01 ? '1' : '0')
165#define YESNO(b) ((b) ? "YES" : "NO")
166#define ONOFF(b) ((b) ? "ON" : "OFF")
167#define TRUEFALSE(b) ((b) ? "TRUE" : "FALSE")
172#ifdef USE_STORE_LOG_STR_IN_FLASH
176#if USE_ARDUINO_VERSION_CODE >= VERSION_CODE(2, 5, 0)
177#define LOG_STR_ARG(s) ((PGM_P) (s))
182#define LOG_STR_ARG(s) \
186 strncpy_P(__buf, (PGM_P) (s), 63); \
191#define LOG_STR(s) (reinterpret_cast<const LogString *>(PSTR(s)))
192#define LOG_STR_LITERAL(s) LOG_STR_ARG(LOG_STR(s))
196#define LOG_STR(s) (reinterpret_cast<const LogString *>(s))
197#define LOG_STR_ARG(s) (reinterpret_cast<const char *>(s))
198#define LOG_STR_LITERAL(s) (s)
struct @67::@68 __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)