46 lines
1.2 KiB
C
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
|