![]() |
SysIo
1.9.0
Embedded Library and tools
|
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. | |
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).
expression | expression qui doit être vrai (sinon abort) |
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).
errnum | numé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.
int iLogMask | ( | void | ) |
#include <log.h>
Lecture du masque des priorités en cours.
const char* sLogPriorityStr | ( | int | priority | ) |
#include <log.h>
Chaîne de caractère associée à une priorité
priority | priorité du message |
void vLog | ( | int | priority, |
const char * | format, | ||
... | |||
) |
#include <log.h>
Affichage ou écriture d'un message de log.
priority | priorité du message |
format | chaî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.
daemon | true pour passer en mode daemon, false pour en sortir. |
void vLogInit | ( | int | mask | ) |
#include <log.h>
Intialise le module.
masque | des 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.
mask |