LVGL 日志
2023-02-18 16:30:03 时间
一、启动日志
在 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 函数一样
相关文章
- 无需新型token mixer就能SOTA:MetaFormer视觉基线模型开源,刷新ImageNet记录
- 推荐一款神仙颜值的Redis客户端工具
- 首个在ImageNet上精度超过80%的二值神经网络BNext问世,-1与+1的五年辛路历程
- Redis+Guava,性能炸裂!这组合真的太顶了....
- 【eureka问题:已解决】Request execution failed with message: java.net.ConnectException: Connection refused:
- 【已解决】Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon runnin
- 【已解决】springboot在使用redisTemplate的测试的时候报空指针
- 差两个像素让我很难受,这问题绝不允许留到明年!
- React DevUI 18.0 正式发布🎉
- 好慌,我代码没了!不会是变基变出问题了吧?
- 老板:你为什么要选择 Vue?
- 实用的 Bash 快捷键
- Quill基本使用和配置 - DevUI
- Quill富文本编辑器的实践 - DevUI
- 如何解决异步接口请求快慢不均导致的数据错误问题? - DevUI
- 让我们一起建设 Vue DevUI 项目吧!🥳
- 号外号外!DevUI Admin V1.0 发布啦!
- 手把手教你搭建自己的Angular组件库 - DevUI
- 2021 年最值得推荐的 7 个 Angular 前端组件库 - DevUI
- 立完flag,你可能需要对flag进行量化