48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
// e_logger.h
|
||
#ifndef E_LOGGER_H
|
||
#define E_LOGGER_H
|
||
|
||
#include <stdio.h>
|
||
#include <time.h>
|
||
#include <stdbool.h>
|
||
|
||
// 日志级别定义
|
||
typedef enum
|
||
{
|
||
LOG_DEBUG,
|
||
LOG_INFO,
|
||
LOG_WARN,
|
||
LOG_ERROR
|
||
} LogLevel;
|
||
|
||
// 初始化日志系统
|
||
void log_init(void);
|
||
|
||
// 设置日志级别
|
||
void log_set_level(LogLevel level);
|
||
|
||
// 设置日志输出文件
|
||
void log_set_output(FILE *output);
|
||
|
||
// 启用/禁用UDP日志发送
|
||
void log_set_udp_enabled(bool enabled);
|
||
|
||
// 设置UDP日志接收方IP地址,成功返回true
|
||
bool log_set_udp_dest_ip(const char *ip);
|
||
|
||
// 打印日志
|
||
void log_print(LogLevel level, const char *file, int line, const char *format, ...);
|
||
|
||
// 清理日志资源
|
||
void log_cleanup(void);
|
||
// 删除日志文件
|
||
void log_delete_files(void);
|
||
|
||
// 日志宏定义(自动添加文件名和行号)
|
||
#define LOGD(format, ...) log_print(LOG_DEBUG, __FILE__, __LINE__, format, ##__VA_ARGS__)
|
||
#define LOGI(format, ...) log_print(LOG_INFO, __FILE__, __LINE__, format, ##__VA_ARGS__)
|
||
#define LOGW(format, ...) log_print(LOG_WARN, __FILE__, __LINE__, format, ##__VA_ARGS__)
|
||
#define LOGE(format, ...) log_print(LOG_ERROR, __FILE__, __LINE__, format, ##__VA_ARGS__)
|
||
|
||
#endif // E_LOGGER_H
|