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 :cLV_USE_LOG in lv_conf.h and set :cLV_LOG_LEVEL to one of the following values:

  • :cLV_LOG_LEVEL_TRACE: A lot of logs to give detailed information
  • :cLV_LOG_LEVEL_INFO: Log important events
  • :cLV_LOG_LEVEL_WARN: Log if something unwanted happened but didn't cause a problem
  • :cLV_LOG_LEVEL_ERROR: Only critical issues, where the system may fail
  • :cLV_LOG_LEVEL_USER: Only user messages
  • :cLV_LOG_LEVEL_NONE: Do not log anything

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

Printing logs

Logging with printf

If your system supports printf, you just need to enable :cLV_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 :cpplv_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