一、启动日志
在 lv_conf.h 中将 LV_USE_LOG 设置为 1,如下图所示:
二、日志级别
在文件 lvgl/src/misc/lv_log.h
中定义了日志等级,等级是从小到大,所以 LV_LOG_LEVEL_USER 的等级最高
#define LV_LOG_LEVEL_TRACE 0 /**< 记录所有信息*/
#define LV_LOG_LEVEL_INFO 1 /**< 记录重要事件*/
#define LV_LOG_LEVEL_WARN 2 /**< 记录是否发生了警告事件*/
#define LV_LOG_LEVEL_ERROR 3 /**< 记录错误信息,当系统可能发生故障时或致命错*/
#define LV_LOG_LEVEL_USER 4 /**< 来自用户的自定义日志*/
#define LV_LOG_LEVEL_NONE 5 /**< 不要记录任何东西*/
#define _LV_LOG_LEVEL_NUM 6 /**< 日志级别数*/
通过设置 LV_LOG_LEVEL
日志级别过滤日志信息,只有大于等于设置过滤日志级别的信息才能输出,如下图所示:
三、日志输出选择
/*1: Print the log with 'printf';
*0: User need to register a callback with `lv_log_register_print_cb()`*/
#define LV_LOG_PRINTF 0
通过设置 LV_LOG_PRINTF
的值设置日志输入模式,设置为 0 时,通过系统的 printf 函数输出,设置为 1 时,通过自定义的数据函数进行输出。
通过源码,查看 LVGL 日志输出方式,如下图所示:
使用自定义输出时,使用 lv_log_register_print_cb()
函数注册日志回调函数。
/**
* @brief 日志输出回调函数
*
* @param buf 日志信息
*/
void esp32_log_cb(const char * buf)
{
printf(buf);
}
/* 注册日志输出回调函数 */
lv_log_register_print_cb(esp32_log_cb);
回调函数指针,如下图所示:
四、日志使用
从下图中可以看出日志输出的等级,如下图所示:
通过使用日志输出模块
LV_LOG_TRACE(...)
LV_LOG_INFO(...)
LV_LOG_WARN(...)
LV_LOG_ERROR(...)
LV_LOG_USER(...)
注意:使用方式和 printf 函数一样
标签:LOG,LEVEL,LV,log,日志,LVGL,define From: https://www.cnblogs.com/jzcn/p/16778587.html