日志记录¶
LVGL 内置了一个 日志 模块,用于向用户告知库中发生的情况。
日志级别¶
要启用日志记录,请在 lv_conf.h 中设置 LV_USE_LOG 1,并将 LV_LOG_LEVEL 设置为以下值之一:
LV_LOG_LEVEL_TRACE记录大量日志以提供详细信息LV_LOG_LEVEL_INFO记录重要事件LV_LOG_LEVEL_WARN如果发生了不希望的事情但未引起问题,则记录LV_LOG_LEVEL_ERROR仅记录可能导致系统失败的关键问题LV_LOG_LEVEL_USER仅记录用户消息LV_LOG_LEVEL_NONE不记录任何内容
高于设置的日志级别的事件也会被记录。例如,如果设置为 LV_LOG_LEVEL_WARN,错误也会被记录。
打印日志¶
使用 printf 记录日志¶
如果您的系统支持 printf,只需在 lv_conf.h 中启用 LV_LOG_PRINTF,即可通过 printf 发送日志。
自定义日志函数¶
如果您无法使用 printf 或希望使用自定义函数记录日志,可以通过 lv_log_register_print_cb() 注册一个“日志记录器”回调。
例如:
void my_log_cb(const char * buf)
{
serial_send(buf, strlen(buf));
}
...
lv_log_register_print_cb(my_log_cb);
添加日志¶
您还可以通过 LV_LOG_TRACE/INFO/WARN/ERROR/USER(text) 或 LV_LOG(text) 函数使用日志模块。其中:
LV_LOG_TRACE/INFO/WARN/ERROR/USER(text)会在您的text后附加以下信息:日志级别
__FILE__
__LINE__
__func__
LV_LOG(text)类似于LV_LOG_USER,但没有附加额外信息。