LVGL 日志
一、启动日志
在 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
的值设置日志输入模式,设置为 1 时,通过系统的 printf 函数输出,设置为 0 时,通过自定义的数据函数进行输出。
通过源码,查看 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 函数一样
本文来自博客园,作者:浇筑菜鸟,转载请注明原文链接:https://www.cnblogs.com/jzcn/p/16778587.html
如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意! cn_jiaozhu@qq.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App