Files
p4-bridge/include/log_manager.h

46 lines
1.2 KiB
C

#ifndef LOG_MANAGER_H
#define LOG_MANAGER_H
#include "esp_err.h"
#include <stdarg.h>
#include <stdint.h>
#include <stdbool.h>
#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