7 #ifdef USE_STORE_LOG_STR_IN_FLASH 13 #if defined(USE_ESP32_FRAMEWORK_ARDUINO) || defined(USE_ESP_IDF) 17 #ifdef USE_ESP32_FRAMEWORK_ARDUINO 18 #include <esp32-hal-log.h> 23 #define ESPHOME_LOG_LEVEL_NONE 0 24 #define ESPHOME_LOG_LEVEL_ERROR 1 25 #define ESPHOME_LOG_LEVEL_WARN 2 26 #define ESPHOME_LOG_LEVEL_INFO 3 27 #define ESPHOME_LOG_LEVEL_CONFIG 4 28 #define ESPHOME_LOG_LEVEL_DEBUG 5 29 #define ESPHOME_LOG_LEVEL_VERBOSE 6 30 #define ESPHOME_LOG_LEVEL_VERY_VERBOSE 7 32 #ifndef ESPHOME_LOG_LEVEL 33 #define ESPHOME_LOG_LEVEL ESPHOME_LOG_LEVEL_NONE 36 #define ESPHOME_LOG_COLOR_BLACK "30" 37 #define ESPHOME_LOG_COLOR_RED "31" // ERROR 38 #define ESPHOME_LOG_COLOR_GREEN "32" // INFO 39 #define ESPHOME_LOG_COLOR_YELLOW "33" // WARNING 40 #define ESPHOME_LOG_COLOR_BLUE "34" 41 #define ESPHOME_LOG_COLOR_MAGENTA "35" // CONFIG 42 #define ESPHOME_LOG_COLOR_CYAN "36" // DEBUG 43 #define ESPHOME_LOG_COLOR_GRAY "37" // VERBOSE 44 #define ESPHOME_LOG_COLOR_WHITE "38" 45 #define ESPHOME_LOG_SECRET_BEGIN "\033[5m" 46 #define ESPHOME_LOG_SECRET_END "\033[6m" 47 #define LOG_SECRET(x) ESPHOME_LOG_SECRET_BEGIN x ESPHOME_LOG_SECRET_END 49 #define ESPHOME_LOG_COLOR(COLOR) "\033[0;" COLOR "m" 50 #define ESPHOME_LOG_BOLD(COLOR) "\033[1;" COLOR "m" 51 #define ESPHOME_LOG_RESET_COLOR "\033[0m" 53 void esp_log_printf_(
int level,
const char *tag,
int line,
const char *format, ...)
55 #ifdef USE_STORE_LOG_STR_IN_FLASH 56 void esp_log_printf_(
int level,
const char *tag,
int line,
const __FlashStringHelper *format, ...);
58 void esp_log_vprintf_(
int level,
const char *tag,
int line,
const char *format, va_list args);
59 #ifdef USE_STORE_LOG_STR_IN_FLASH 60 void esp_log_vprintf_(
int level,
const char *tag,
int line,
const __FlashStringHelper *format, va_list args);
62 #if defined(USE_ESP32_FRAMEWORK_ARDUINO) || defined(USE_ESP_IDF) 66 #ifdef USE_STORE_LOG_STR_IN_FLASH 67 #define ESPHOME_LOG_FORMAT(format) F(format) 69 #define ESPHOME_LOG_FORMAT(format) format 72 #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE 73 #define esph_log_vv(tag, format, ...) \ 74 esp_log_printf_(ESPHOME_LOG_LEVEL_VERY_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__) 76 #define ESPHOME_LOG_HAS_VERY_VERBOSE 78 #define esph_log_vv(tag, format, ...) 81 #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE 82 #define esph_log_v(tag, format, ...) \ 83 esp_log_printf_(ESPHOME_LOG_LEVEL_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__) 85 #define ESPHOME_LOG_HAS_VERBOSE 87 #define esph_log_v(tag, format, ...) 90 #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG 91 #define esph_log_d(tag, format, ...) \ 92 esp_log_printf_(ESPHOME_LOG_LEVEL_DEBUG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__) 93 #define esph_log_config(tag, format, ...) \ 94 esp_log_printf_(ESPHOME_LOG_LEVEL_CONFIG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__) 96 #define ESPHOME_LOG_HAS_DEBUG 97 #define ESPHOME_LOG_HAS_CONFIG 99 #define esph_log_d(tag, format, ...) 100 #define esph_log_config(tag, format, ...) 103 #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_INFO 104 #define esph_log_i(tag, format, ...) \ 105 esp_log_printf_(ESPHOME_LOG_LEVEL_INFO, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__) 107 #define ESPHOME_LOG_HAS_INFO 109 #define esph_log_i(tag, format, ...) 112 #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_WARN 113 #define esph_log_w(tag, format, ...) \ 114 esp_log_printf_(ESPHOME_LOG_LEVEL_WARN, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__) 116 #define ESPHOME_LOG_HAS_WARN 118 #define esph_log_w(tag, format, ...) 121 #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_ERROR 122 #define esph_log_e(tag, format, ...) \ 123 esp_log_printf_(ESPHOME_LOG_LEVEL_ERROR, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__) 125 #define ESPHOME_LOG_HAS_ERROR 127 #define esph_log_e(tag, format, ...) 146 #define ESP_LOGE(tag, ...) esph_log_e(tag, __VA_ARGS__) 147 #define ESP_LOGW(tag, ...) esph_log_w(tag, __VA_ARGS__) 148 #define ESP_LOGI(tag, ...) esph_log_i(tag, __VA_ARGS__) 149 #define ESP_LOGD(tag, ...) esph_log_d(tag, __VA_ARGS__) 150 #define ESP_LOGCONFIG(tag, ...) esph_log_config(tag, __VA_ARGS__) 151 #define ESP_LOGV(tag, ...) esph_log_v(tag, __VA_ARGS__) 152 #define ESP_LOGVV(tag, ...) esph_log_vv(tag, __VA_ARGS__) 154 #define BYTE_TO_BINARY_PATTERN "%c%c%c%c%c%c%c%c" 155 #define BYTE_TO_BINARY(byte) \ 156 ((byte) &0x80 ? '1' : '0'), ((byte) &0x40 ? '1' : '0'), ((byte) &0x20 ? '1' : '0'), ((byte) &0x10 ? '1' : '0'), \ 157 ((byte) &0x08 ? '1' : '0'), ((byte) &0x04 ? '1' : '0'), ((byte) &0x02 ? '1' : '0'), ((byte) &0x01 ? '1' : '0') 158 #define YESNO(b) ((b) ? "YES" : "NO") 159 #define ONOFF(b) ((b) ? "ON" : "OFF") 160 #define TRUEFALSE(b) ((b) ? "TRUE" : "FALSE") 165 #ifdef USE_STORE_LOG_STR_IN_FLASH 167 #include <pgmspace.h> 169 #if USE_ARDUINO_VERSION_CODE >= VERSION_CODE(2, 5, 0) 170 #define LOG_STR_ARG(s) ((PGM_P) (s)) 175 #define LOG_STR_ARG(s) \ 179 strncpy_P(__buf, (PGM_P) (s), 63); \ 184 #define LOG_STR(s) (reinterpret_cast<const LogString *>(PSTR(s))) 185 #define LOG_STR_LITERAL(s) LOG_STR_ARG(LOG_STR(s)) 187 #else // !USE_STORE_LOG_STR_IN_FLASH 189 #define LOG_STR(s) (reinterpret_cast<const LogString *>(s)) 190 #define LOG_STR_ARG(s) (reinterpret_cast<const char *>(s)) 191 #define LOG_STR_LITERAL(s) (s) void HOT esp_log_vprintf_(int level, const char *tag, int line, const char *format, va_list args)
enum esphome::EntityCategory __attribute__
void HOT esp_log_printf_(int level, const char *tag, int line, const char *format,...)
int HOT esp_idf_log_vprintf_(const char *format, va_list args)