Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

RDK supports following tools for making the debugging task easier for developers.

Logging

Presentation of system events, errors and application traces altogether in form of console messages or persistent log files constitutes the logging process in RDK.

Generating and reading system logs is an important aspect of system administration. The information in system logs can be used to detect hardware and software issues as well as application and system configuration errors. This information also plays an important role in assessing device health, security loopholes and incident response.

There are multiple levels of logging supported by RDK right from having the native Linux syslog (or more recently : journal logs) facility to having a dedicated logging facility such as RDK logger library.

RDK Logger

Description

RDK Logger is responsible for centralizing logging feature which otherwise was done by printf or other similar functionalities. It provides enable/disable log feature as well as defines logging levels thus providing a way to control amount of outgoing log messages. Available as a library, it can be easily plugged into different application to enable them in creating logs in a way that is common among the RDK system.

Capabilities

  • Abstracts logging client from underlying logging utility.
  • Dynamically enable/disable logging level at run time.
  • Provide logging format that complies with the existing format understood across RDK components(e.g. <timestamp> [mod=*, level=*]).

A detailed description on the RDK logger component can be found here: RDK Logger

Systemd Journals

systemd has its own logging system called the journal; therefore, running a syslog daemon is no longer required.

  • Journal stores all logs in a specified folder
  • journalctl allows you to filter the output as needed
  • In order to comply with the RDK logging formats, journalctl is used to redirect logs to specific module level log .txt files
  • The future plan is to switch to using journald systems-journal-upload to upload logs