日志说明

本文介绍C Link SDK的日志系统。

概述

C Link SDK的日志系统为满足不同阶段的开发需求,支持用户通过修改aiot_state_api.h文件进行自定义处理:

  • 设置日志等级。

  • 日志输出自定义。

  • 编译时关闭日志。

设置日志等级

日志等级定义:

typedef enum {
 LOG_LEVEL_NONE = 0, /* 不输出日志 */
 LOG_LEVEL_ERROR,
 LOG_LEVEL_INFO,
 LOG_LEVEL_DEBUG,
} log_level_t;

默认的日志输出等级为LOG_LEVEL_DEBUG,用户如需修改日志等级,请参考接口:

默认的日志输出等级为LOG_LEVEL_DEBUG,用户如需修改日志等级,请参考接口aiot_state_set_log_level
/**
 * @brief 设置SDK的日志信息输出等级
 *
 * @param level 日志等级
 *
 * @return int32_t 保留
 */
int32_t aiot_state_set_log_level(log_level_t level);

日志输出自定义

SDK的默认输出是通过printf输出,用户可通过接口自定义日志输出方式。

/**
 * @brief SDK的日志信息输出回调函数原型
 */
typedef int32_t (* aiot_state_logcb_t)(int32_t code, char *message);/**
 * @brief 设置SDK的日志信息输出使用的回调函数
 *
 * @param handler 日志回调函数
 *
 * @return int32_t 保留
 */
int32_t aiot_state_set_logcb(aiot_state_logcb_t handler);

编译时关闭日志

注释掉以下代码即可关闭所有日志输出,日志的代码不会被编译进库中。

#define LOG_ENABLE