Skip to content

Latest commit

 

History

History
71 lines (50 loc) · 1.77 KB

log.rst

File metadata and controls

71 lines (50 loc) · 1.77 KB

Logging

LVGL has a built-in Log module to inform the user about what is happening in the library.

Log level

To enable logging, set :c:macro:`LV_USE_LOG` in lv_conf.h and set :c:macro:`LV_LOG_LEVEL` to one of the following values:

The events which have a higher level than the set log level will be logged too. E.g. if you :c:macro:`LV_LOG_LEVEL_WARN`, errors will be also logged.

Printing logs

Logging with printf

If your system supports printf, you just need to enable :c:macro:`LV_LOG_PRINTF` in lv_conf.h to send the logs with printf.

Custom log function

If you can't use printf or want to use a custom function to log, you can register a "logger" callback with :cpp:func:`lv_log_register_print_cb`.

For example:

void my_log_cb(lv_log_level_t level, const char * buf)
{
  serial_send(buf, strlen(buf));
}

...


lv_log_register_print_cb(my_log_cb);

Add logs

You can also use the log module via the LV_LOG_TRACE/INFO/WARN/ERROR/USER(text) or LV_LOG(text) functions. Here:

  • LV_LOG_TRACE/INFO/WARN/ERROR/USER(text) append following information to your text
  • Log Level
  • __FILE__
  • __LINE__
  • __func__
  • LV_LOG(text) is similar to LV_LOG_USER but has no extra information attached.

API