mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-14 06:42:58 +08:00
7ecf7c2e52
Co-authored-by: Liam <30486941+liamHowatt@users.noreply.github.com>
74 lines
1.8 KiB
ReStructuredText
74 lines
1.8 KiB
ReStructuredText
.. _logging:
|
|
|
|
=======
|
|
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:
|
|
|
|
- :c:macro:`LV_LOG_LEVEL_TRACE`: A lot of logs to give detailed information
|
|
- :c:macro:`LV_LOG_LEVEL_INFO`: Log important events
|
|
- :c:macro:`LV_LOG_LEVEL_WARN`: Log if something unwanted happened but didn't cause a problem
|
|
- :c:macro:`LV_LOG_LEVEL_ERROR`: Only critical issues, where the system may fail
|
|
- :c:macro:`LV_LOG_LEVEL_USER`: Only user messages
|
|
- :c:macro:`LV_LOG_LEVEL_NONE`: Do not log anything
|
|
|
|
The events which have a higher level than the set log level will be logged
|
|
as well. 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:
|
|
|
|
.. code-block:: c
|
|
|
|
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 the 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
|
|
***
|