Chapter 2. API Reference
• tag: description tag
• buffer: Pointer to the buffer array
• buff_len: length of buffer in bytes
• level: level of the log
ESP_LOG_BUFFER_CHAR_LEVEL(tag, buffer, buff_len, level)
Log a buffer of characters at specified level, separated into 16 bytes each line. Buffer should contain only
printable characters.
Parameters
• tag: description tag
• buffer: Pointer to the buffer array
• buff_len: length of buffer in bytes
• level: level of the log
ESP_LOG_BUFFER_HEXDUMP(tag, buffer, buff_len, level)
Dump a buffer to the log at specified level.
The dump log shows just like the one below:
W (195) log_example: 0x3ffb4280 45 53 50 33 32 20 69 73 20 67 72 65 61 74␣
,→2c 20 |ESP32 is great, |
W (195) log_example: 0x3ffb4290 77 6f 72 6b 69 6e 67 20 61 6c 6f 6e 67 20␣
,→77 69 |working along wi|
W (205) log_example: 0x3ffb42a0 74 68 20 74 68 65 20 49 44 46 2e 00 ␣
,→ |th the IDF..|
It is highly recommend to use terminals with over 102 text width.
Parameters
• tag: description tag
• buffer: Pointer to the buffer array
• buff_len: length of buffer in bytes
• level: level of the log
ESP_LOG_BUFFER_HEX(tag, buffer, buff_len)
Log a buffer of hex bytes at Info level.
See esp_log_buffer_hex_level
Parameters
• tag: description tag
• buffer: Pointer to the buffer array
• buff_len: length of buffer in bytes
ESP_LOG_BUFFER_CHAR(tag, buffer, buff_len)
Log a buffer of characters at Info level. Buffer should contain only printable characters.
See esp_log_buffer_char_level
Parameters
• tag: description tag
• buffer: Pointer to the buffer array
• buff_len: length of buffer in bytes
portGET_ARGUMENT_COUNT_INNER(zero, one, count, ...)
macro to output logs in startup code, before heap allocator and syscalls have been initialized. log at
ESP_LOG_ERROR level.
See printf,ESP_LOGE,ESP_DRAM_LOGE
ESP_EARLY_LOGE(tag, format, ...)
In the future, we want to switch to C++20. We also want to become compatible with clang. Hence, we provide
two versions of the following macros which are using variadic arguments. The first one is using the GNU
extension ##__VA_ARGS__. The second one is using the C++20 feature VA_OPT(,). This allows users to
compile their code with standard C++20 enabled instead of the GNU extension. Below C++20, we haven’t
found any good alternative to using ##__VA_ARGS__.
Espressif Systems 1009
Submit Document Feedback
Release v4.4