SysIo  1.9.0
Embedded Library and tools
Gestion des logs

Detailed Description

Ce module fournit les fonctions permettant d'afficher des messages sur la sortie d'erreur ou dans syslog.
Les logs sont organisés en fonction de priorités, dans l'ordre décroissant d'importance nous avons :

Initialement le module est en mode "front-end", c'est à dire que les messages sont affichés sur le terminal de sortie d'erreur.
En passant en mode daemon, les messages sont transmis au daemon syslog, plus aucun message n'est affiché sur le terminal.
Si la macro LOG_ASSERT est définie avant l'inclusion de ce fichier, ce module fournit aussi les macros assert() et assert_perror() qui se substitue à celles de la la glibc de façon à pouvoir avorter le programme en mode daemon en laissant des traces du plantage dans les logs.

Functions

void assert (scalar expression)
 Terminer le programme en cas d'échec d'un test. More...
 
void assert_perror (int errnum)
 Vérifier un code d'erreur et arrêter le programme. More...
 
bool bLogIsDaemonized (void)
 Indique si les messages sont redirigés vers les journaux systèmes. More...
 
int iLogMask (void)
 Lecture du masque des priorités en cours. More...
 
const char * sLogPriorityStr (int priority)
 Chaîne de caractère associée à une priorité More...
 
void vLog (int priority, const char *format,...)
 Affichage ou écriture d'un message de log. More...
 
void vLogDaemonize (bool daemon)
 Passe ou sort du mode daemon. More...
 
void vLogInit (int mask)
 Intialise le module. More...
 
void vLogSetMask (int mask)
 Fixe le masque des priorités Les huit priorités sont LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO et LOG_DEBUG.
Le bit correspondant à la priorité p est LOG_MASK(p). Certains systèmes fournissent aussi une macro LOG_UPTO(p) pour le masque de toutes les priorités jusqu'à p incluses. More...
 

Macros

#define LOG_MASK(p)
 Masque de validation du bit correspondant à la priorité p.
 
#define LOG_UPTO(p)
 Masque de validation de toutes les priorités jusqu'à p incluses.
 

Variables

const char * __progname
 Nom du programme en cours.
 

Function Documentation

void assert ( scalar  expression)

#include <log.h>

Terminer le programme en cas d'échec d'un test.

Si la macro NDEBUG est définie au moment de la dernière inclusion de <sysio/log.h>, la macro assert() ne génère aucun code et ne fait rien. Sinon, la macro assert() affiche un message d'erreur sur la sortie d'erreur ou dans le journal des logs et termine l'exécution du programme en cours en appelant abort(3) si expression est fausse (égale à zéro).

Parameters
expressionexpression qui doit être vrai (sinon abort)
Examples:
gpio/blyss-tx/sysio_demo_blyss_tx.c, gps/callback/sysio_demo_gps_callback.c, gps/poll/sysio_demo_gps_poll.c, i2c/mem-eeprom/sysio_demo_i2c_eeprom.c, i2c/sensor-hih6130/sysio_demo_i2c_hih6130.c, i2c/sensor-iaq/sysio_demo_i2c_iaq.c, serial/xbee-coordinator/sysio_demo_xbee_coordinator.c, serial/xbee-node/sysio_demo_xbee_node.c, spi/rf69-gateway/sysio_demo_rf69_gateway.c, and spi/rf69-ping/sysio_demo_rf69_ping.c.
void assert_perror ( int  errnum)

#include <log.h>

Vérifier un code d'erreur et arrêter le programme.

Si la macro NDEBUG est définie lors de la dernière inclusion de <sysio/log.h>, la macro assert_perror() ne génère aucun code et n'a donc aucun effet. Sinon, la macro assert_perror() affiche un message d'erreur sur la sortie d'erreur ou dans le journal des logs et termine le programme en appelant abort(3) si errnum est non nul.
Le message contient le nom du fichier, le nom de la fonction et le numéro de ligne de l'appel de la macro, ainsi que le résultat de strerror(errnum).

Parameters
errnumnuméro de l'erreur (on passe errno, la plupart du temps...)
bool bLogIsDaemonized ( void  )

#include <log.h>

Indique si les messages sont redirigés vers les journaux systèmes.

Returns
true si les messages sont redirigés vers les journaux systèmes, false si les messages sont redirigés vers les sorties stdout, stderr.
int iLogMask ( void  )

#include <log.h>

Lecture du masque des priorités en cours.

Returns
la valeur du masque
const char* sLogPriorityStr ( int  priority)

#include <log.h>

Chaîne de caractère associée à une priorité

Parameters
prioritypriorité du message
Returns
Chaîne de caractère associée à priority (ie error, warning, notice ...)
void vLog ( int  priority,
const char *  format,
  ... 
)

#include <log.h>

Affichage ou écriture d'un message de log.

Parameters
prioritypriorité du message
formatchaîne de format conforme à la syntaxe de la fonction printf() suivie des paramètres optionnels.
void vLogDaemonize ( bool  daemon)

#include <log.h>

Passe ou sort du mode daemon.

Parameters
daemontrue pour passer en mode daemon, false pour en sortir.
void vLogInit ( int  mask)

#include <log.h>

Intialise le module.

Parameters
masquedes priorités inital
void vLogSetMask ( int  mask)

#include <log.h>

Fixe le masque des priorités Les huit priorités sont LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO et LOG_DEBUG.
Le bit correspondant à la priorité p est LOG_MASK(p). Certains systèmes fournissent aussi une macro LOG_UPTO(p) pour le masque de toutes les priorités jusqu'à p incluses.

Parameters
mask