#ifndef LOGGER_HEADER #define LOGGER_HEADER // Define log levels #define LOG_ERROR "E" #define LOG_WARN "W" #define LOG_INFO "I" #define LOG_DEBUG "D" // Define a generic log macro #define LOG_PRINT(level, tag, fmt, ...) \ printf("[%s] %s: " fmt "\r\n", level, tag, ##__VA_ARGS__) // Define ESP-like shortcuts #define ESP_LOGE(tag, fmt, ...) LOG_PRINT(LOG_ERROR, tag, fmt, ##__VA_ARGS__) #define ESP_LOGW(tag, fmt, ...) LOG_PRINT(LOG_WARN, tag, fmt, ##__VA_ARGS__) #define ESP_LOGI(tag, fmt, ...) LOG_PRINT(LOG_INFO, tag, fmt, ##__VA_ARGS__) #define ESP_LOGD(tag, fmt, ...) LOG_PRINT(LOG_DEBUG, tag, fmt, ##__VA_ARGS__) #endif