SCIOPTALogo System Software for Safety-Critical Embedded Applications
Copyright
/home/support/articles/logdaemon
Home
Support
Technical Articles
Boards Presentation
Products Contact Company Support Documentation CPUs
Technical Article
LogDaemon
If you are analyzing the example and BSP files of a typical SCIOPTA delivery, you will see that there is often a process called SCP_logd. In the SCIOPTA “SCONF” configuration utility you can see SCP_logd defined as a static process in the system module as follows:
SconfLogd
LogDaemon is a process which receives log messages from a user and sends it to an output device. Therefore, the user can generate debug- and log-messages to test the program flow. By setting an adequate (low) priority of the SCP_logd process the influence on the system timing can be minimized. The LogDaemon decouples occurrence and logging of events.
Using LogDaemon
The following three functions are used in LogDaemon applications:

logd_t NEARPTR logd_new()
void logd_printf()
void logd_destroy()

The function logd_new() creates a new LogDaemon instance.

The function logd_printf() sends a user defined message to the LogDaemon.

The function logd_destroy() deletes an existing LogDaemon instance.

Example
.
.
logd_t NEARPTR logd;
.
logd = logd_new( "/SCP_logd",
LOGD_INFO,
DRIVER_NAME,
0,
SC_FATAL_IF_TMO);
.
.
logd_printf (logd, LOGD_INFO, "My Message\n");
.
.
logd_destroy (&logd);
.
.
Where to find LogDeamon
The LogDaemon process can be found in the utility library (e.g. for GNU GCC: libutil_x.a) of the SCIOPTA delivery.

Also the source code is available and can be retrieved from the following folders:

...\util\logd\logd.c
...\util\logd\kprintf.c
...\include\logd\logd.h
...\include\logd\logd.msg

Examples for LogDaemon applications can be found in the source files of the Board Support Packages:

...\bsp\...