日志管理
目录
宏定义、枚举与结构体
LogLevel
LoggerConsole
日志级别
enum LogLevel {
kLevelError = 0,
kLevelWarn = 1,
kLevelInfo = 2,
kLevelDebug = 3,
};
日志终端配置
struct LoggerConsole {
/*! 日志输出函数定义 */
using OutputFunc = std::function<ErrorCode(const uint8_t *, uint32_t)>;
/*! 过滤日志级别, 小于等于该级别的日志才输出 */
LogLevel level;
/*! 输出日志处理函数 */
OutputFunc output_func;
/*! 终端是否支持颜色显示 */
bool is_support_color;
};
函数
void EdgeSDKLoggerOutput(LogLevel level, const char *fmt, ...);
#define DEBUG(fmt, ...) \
EdgeSDKLoggerOutput(kLevelDebug, "[%s:%d) " fmt, __FUNCTION__, __LINE__, \
##__VA_ARGS__)
#define INFO(fmt, ...) \
EdgeSDKLoggerOutput(kLevelInfo, "[%s:%d) " fmt, __FUNCTION__, __LINE__, \
##__VA_ARGS__)
#define WARN(fmt, ...) \
EdgeSDKLoggerOutput(kLevelWarn, "[%s:%d) " fmt, __FUNCTION__, __LINE__, \
##__VA_ARGS__)
#define ERROR(fmt, ...) \
EdgeSDKLoggerOutput(kLevelError, "[%s:%d) " fmt, __FUNCTION__, __LINE__, \
##__VA_ARGS__)