#ifndef LOG_MANAGER_H #define LOG_MANAGER_H #include "esp_err.h" #include #include #include #ifdef __cplusplus extern "C" { #endif // Log levels typedef enum { LOG_LEVEL_DEBUG = 0, LOG_LEVEL_INFO, LOG_LEVEL_WARN, LOG_LEVEL_ERROR, LOG_LEVEL_CRITICAL } log_level_t; // Function prototypes esp_err_t log_manager_init(void); esp_err_t log_manager_deinit(void); // Main logging function esp_err_t log_manager_log(log_level_t level, const char* tag, const char* format, ...); // Convenience logging functions esp_err_t log_manager_log_debug(const char* tag, const char* format, ...); esp_err_t log_manager_log_info(const char* tag, const char* format, ...); esp_err_t log_manager_log_warn(const char* tag, const char* format, ...); esp_err_t log_manager_log_error(const char* tag, const char* format, ...); esp_err_t log_manager_log_critical(const char* tag, const char* format, ...); // Log management functions esp_err_t log_manager_rotate_logs(void); esp_err_t log_manager_cleanup_old_logs(void); esp_err_t log_manager_get_logs(char** logs, size_t* logs_size); esp_err_t log_manager_clear_logs(void); #ifdef __cplusplus } #endif #endif // LOG_MANAGER_H