#pragma once // ============================================================================ // logger.h - 日志系统 // ============================================================================ #include // 日志级别 typedef enum { LOG_TRACE = 0, LOG_DEBUG, LOG_INFO, LOG_WARN, LOG_ERROR, LOG_FATAL } LogLevel; // 初始化/关闭 void logger_init(const char* log_file); void logger_shutdown(void); // 设置日志级别 void logger_set_level(LogLevel level); // 日志函数 void logger_log(LogLevel level, const char* file, int line, const char* fmt, ...); // 便捷宏 #define LOG_TRACE(...) logger_log(LOG_TRACE, __FILE__, __LINE__, __VA_ARGS__) #define LOG_DEBUG(...) logger_log(LOG_DEBUG, __FILE__, __LINE__, __VA_ARGS__) #define LOG_INFO(...) logger_log(LOG_INFO, __FILE__, __LINE__, __VA_ARGS__) #define LOG_WARN(...) logger_log(LOG_WARN, __FILE__, __LINE__, __VA_ARGS__) #define LOG_ERROR(...) logger_log(LOG_ERROR, __FILE__, __LINE__, __VA_ARGS__) #define LOG_FATAL(...) logger_log(LOG_FATAL, __FILE__, __LINE__, __VA_ARGS__)