Versions Compared

Key

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

...

RDK Logger is a common logging library which is based on MPEOS logging & it uses log4c for formatting and supports multiple log levels

RDK Logger Capabilities

  • Abstracts logging client from underlying logging utility.
  • Dynamically enables/disables logging level at run time.
  • Provides logging format that complies with the existing OCAP format (e.g. <timestamp> [mod=*, level=*]).
  • Controls log level independently for each component/module.
  • Enables logging globally via single configuration value.
  • Controls initial log level for each component/module from configuration file (debug.ini) at startup.
  • Prints formatted data to stdout.
  • Separates logs into separate files based on "SEPARATE.LOGFILE.SUPPORT" configuration variable

...

Architecture

Logging Levels supported by RDK Logger

...

Example: -lrdkloggers -L ../opensource/lib -llog4c -lglib-2.0

RDK Logger Usage Format

RDK_LOG (rdk_LogLevel level, const char *module, const char *format,...)

...

In this way, user make use of the RDK logger in the respective modules and control the logging levels through configuration file. Here, No need to build RDK logger again for the addition of new components/module.

How to use logging in G-Streamer

...

A callback function gst_debug_add_log_function() is registered to receive GStreamer logs. Logs are converted to RDK logs in callback function. RMF element which controls a gst-element shall register element name and corresponding log module using

...

Default level for RDK logging is ERROR and logging settings are configured in /etc/debug.iniRDK components reads the configuration details from config file at the beginning.

LOG.RDK.<component1> = FATAL ERROR WARNING NOTICE INFO
LOG.RDK.<component2> = FATAL ERROR WARNING NOTICE INFO DEBUG

...

By default, stdout is redirected to /opt/logs/ocapri_log.txt for OCAP RI related logs. 

...

RDK Log upload Process

Logs are uploaded to servers in following scenarios

  • When the box is rebooted
  • When an on-demand log request is made
  • When a regular nightly job is set up for the log uploads

the script uploadSTBLogs.sh is responsible for uploading the logs to the server. Logs are uploaded as tar files with sufficient information like Mac ID, date , timestamp. Log can be uploaded to server using scp or tftp protocol as per server requirement.