~aleteoryx/muditaos

ref: 2000c3c2d15cd46c35378dc8ccd0552c558c7de3 muditaos/module-utils/log/doc/logging_engine.md -rw-r--r-- 1.4 KiB
2000c3c2 — Lukasz Mastalerz [BH-1764] Fix GridLayoutTesting Border Callback Test 2 years ago

#Logging engine

#Logger

Logger class is used for sending log messages coming from LOG macros:

  • LOG_PRINTF
  • LOG_TRACE
  • LOG_DEBUG
  • LOG_INFO
  • LOG_WARN
  • LOG_ERROR
  • LOG_FATAL
  • LOG_CUSTOM

to a proper device (SEGGER_RTT, console output, SYSTEMVIEW) and at the same time to put them to a circular buffer.

Circular buffer has a limited size which sometimes results in losing some logs. In such a case, proper lost message info is added to msg received from the buffer.

However, it should not happen because the logger has a worker and 2 logger buffers. When the buffer is full the logger switch buffer and sends message to the worker to dump logs.

#Dumping to a file

Logs from Circular buffer are dumped to a file named MuditaOS.log when:

  • Circular buffer is full
  • every 15 minutes from last dump
  • download diagnostic from the phone
  • system shutdown

Current max log file size is 15MB. After reaching this size the Rotator save file and add extension at the end of file extension eg. MuditaOS.log.1. Then create the new file.

Logs can be accessed using mount_user_lfs_partition.py script from tools directory. Additionally, test/get_os_log.py script allows getting a log file from a running phone.

#System logs

There are a series of useful system logging capabilities defined in: module-utils/log/api/log/debug.hpp