/** *@file swlog.h *@brief 调用go语言中提供的日志回调输出日志 *@author niujiuru *data 2025-01-07 */ #ifndef __SWLOG_H__ #define __SWLOG_H__ // 打印输出级别 typedef enum { LEVEL_TRACE = 0, // trace LEVEL_DEBUG, // debug LEVEL_INFO, // info LEVEL_WARN, // warning LEVEL_ERROR, // error LEVEL_FATAL, // fatal } ELogLevel; // 带有打印级别的打印输出(该函数会自动在行尾加入回车换行符) void sw_log_writeWithLevel(ELogLevel level, const char *file, int line, const char *format, ...); // trace日志 #define sw_log_trace(format, ...) \ sw_log_writeWithLevel(LEVEL_TRACE, __FILE__, __LINE__, (format), ##__VA_ARGS__) // debug日志 #define sw_log_debug(format, ...) \ sw_log_writeWithLevel(LEVEL_DEBUG, __FILE__, __LINE__, (format), ##__VA_ARGS__) // info日志 #define sw_log_info(format, ...) \ sw_log_writeWithLevel(LEVEL_INFO, __FILE__, __LINE__, (format), ##__VA_ARGS__) // warning日志 #define sw_log_warn(format, ...) \ sw_log_writeWithLevel(LEVEL_WARN, __FILE__, __LINE__, (format), ##__VA_ARGS__) // error日志 #define sw_log_error(format, ...) \ sw_log_writeWithLevel(LEVEL_ERROR, __FILE__, __LINE__, (format), ##__VA_ARGS__) // fatal日志 #define sw_log_fatal(format, ...) \ sw_log_writeWithLevel(LEVEL_FATAL, __FILE__, __LINE__, (format), ##__VA_ARGS__) #endif /* __SWLOG_H__ */