一、启动日志

在 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 函数一样

LVGL 日志的更多相关文章

  1. 【分析笔记】LVGL v8.2.0 使用 freetype 概率性无显示的问题

    使用目前最新的 Releases 版本 LVGL v8.2.0 ,移植好 freetype2 后测试,发现每次启动程序时会高概率出现屏幕显示全白色背景,无任何内容的问题. 打开日志开关,出现问题时会有 ...

  2. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  3. .NetCore中的日志(1)日志组件解析

    .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

  4. Logstash实践: 分布式系统的日志监控

    文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...

  5. SQLServer事务同步下如何收缩日志

    事务同步是SQLServer做读写分离的一种常用的方式. 随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理 订阅数据库的日志清理 因为订阅数据库所有的数据都来 ...

  6. 如何正确使用日志Log

    title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- 文章首发地址:http ...

  7. 前端学HTTP之日志记录

    前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...

  8. ASP.NET Core应用中如何记录和查看日志

    日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.Logger ...

  9. .NET Core的日志[5]:利用TraceSource写日志

    从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试和跟踪信息的日志记录.在.NET ...

  10. .NET Core的日志[4]:将日志写入EventLog

    面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog.EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用 ...

随机推荐

  1. 网站https 问题记录

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 开发过程中 常见的 https 问题 - 避坑 做前端多年,发现有些问题需要重复解决很多次,浪费了不少时间,https 导致的问题就属于其 ...

  2. 《.NET内存管理宝典 》(Pro .NET Memory Management) 阅读指南 - 第4章

    本章勘误: 暂无,等待细心的你告诉我哦. 本章注解: 暂无 本章释疑: 暂无,等待你的提问 致谢: MVP 林德熙 MVP 吕毅 sPhinX 相关链接 试读记录

  3. Error in beforeDestroy hook: “Error: [ElementForm]unpected width “found in

    吹水,可忽略 当我尝试吧el-form中labelWidth设为auto时,刷新页面获取到了上面的错误 百思不得其解,我貌似没有在beforeDestroy进行操作,为何会报这个错误 果断各种百度,G ...

  4. go两种遍历chan

    go中对通道chan遍历有两种方式一种是用range另一种为for select. package main import ( "fmt" "strings" ...

  5. 探索华为云CCE敏捷版金融级高可用方案实践案例

    本文分享自华为云社区<华为云CCE敏捷版金融级高可用方案实践>,作者: 云容器大未来. 一.背景 1.1. CCE 敏捷版介绍 云原生技术有利于各组织在公有云.私有云和混合云等新型动态环境 ...

  6. echarts 中国地图tooltip实现提示框

    point: 鼠标位置,如 [20, 40]. params: 同 formatter 的参数相同. dom: tooltip 的 dom 对象. rect: 只有鼠标在图形上时有效,是一个用x, y ...

  7. 强!10.6K star,一款开源HTTP测试工具,适合新手,简单、容易上手!

    大家好,我是狂师! 今天给大家推荐一款开源的HTTP测试工具:Hurl,相比curl.wget功能更强大,且更容易上手.很适用新手使用. 1.项目介绍 Hurl是一个使用Rust语言开发的命令行工具, ...

  8. OpenHarmony技术日探讨教育发展,聚焦开源人才培养

    4 月 25 日,OpenAtom OpenHarmony (以下简称"OpenHarmony")技术日在深圳成功举办.作为 OpenHarmony 开源项目的年度盛会,大会以&q ...

  9. OpenHarmony 3.2 Beta源码分析之MediaLibrary

    1.MediaLibrary介绍 OpenAtom OpenHarmony(以下简称"OpenHarmony")MediaLibrary媒体库提供了一系列易用的接口用于获取媒体文件 ...

  10. 【FAQ】接入华为帐号服务过程中常见问题总结

    华为帐号服务(Account Kit)为开发者提供简单.安全的登录授权功能,用户不必输入帐号.密码和繁琐验证,就可以通过华为帐号快速登录应用,即刻使用App.这篇文章收集了开发者们集成华为帐号服务中会 ...