SYSLOG
Section: Manuel du programmeur Linux (3) NOM SYNOPSIS DESCRIPTION PARAMÈTRES option facility level CONFORMITÉ HISTORIQUE NOTES VOIR AUSSI TRADUCTION NOM
syslog, vsyslog, openlog, closelog - Envoyer un message de journalisation.
SYNOPSIS
#include <syslog.h>
void openlog (const char * ident, int option, int facility); void syslog (int priority, char * format, ...); void closelog (void ); #include <stdarg.h> void vsyslog (int priority, char * format, va_list ap); DESCRIPTION
closelog()
ferme le descripteur utilisé pour la journalisation. L'utilisation de
closelog()
est facultative.
openlog() ouvre une connection de journalisation. La chaîne pointée par ident sera ajouteé à chaque message (c'est généralement le nom du programme). L'argument option précise les attributs contrôlant le fonctionnement de openlog() et des appels ultérieurs à syslog(). L'argument facility est une valeur par défaut employée lorsque ce paramètre n'est pas fourni lors des appels ultérieurs à syslog(). Les valeurs pour option et facility sont décrites plus bas. L'utilisation de openlog() est optionnelle. Cette fonction sera automatiquement invoquée par syslog() si besoin. Dans ce cas ident aura la valeur par défaut NULL. syslog() crée un message journalisé, qui sera distribué par syslogd(8). L'argument priority est une combinaison par OU binaire des valeurs de facility et de level, indiquées plus bas. Les arguments restants sont un format, comme celui de printf(3) et tous les arguments nécessaires pour ce format, sauf que les deux caractères %m seront automatiquement remplacés par le libelle d'erreur strerror(errno). Un saut de ligne final est ajouté si besoin est. La fonction vsyslog() réalise la même tâche que syslog() à la différence qu'elle prend un ensemble d'arguments obtenus à l'aide de la macro stdarg(3) pour les listes variables d'arguments. PARAMÈTRES
Cette section détaille les paramètres utilisés pour les valeurs de
option, facility, et priority.
option
L'argument
option
de
openlog()
est un OU binaire entre les constantes suivantes :
facility
L'argument
facility
permet d'indiquer le type du programme qui demande la journalisation
du message. Ceci permet un traitement différent des messages, en
fonction de fichiers de configuration.
level
Ceci détermine l'importance du message. Les niveaux, dans l'ordre
d'importance décroissante, sont :
La fonction setlogmask(3) permet de restreindre l'enregistrement à certains niveaux uniquement. CONFORMITÉ
Les fonctions
openlog(),
closelog(),
et
syslog()
(mais pas
vsyslog())
sont mentionnées dans SUSv2 et POSIX 1003.1-2001.
POSIX 1003.1-2001 indique uniquement les valeurs
LOG_USER
et
LOG_LOCAL*
pour l'argument
facility.
Néanmoins, à l'exception de
LOG_AUTHPRIV
et
LOG_FTP,
les autres valeurs pour
facility
existent sur la plupart des systèmes Unix.
La valeur
LOG_PERROR
de l'argument
option
n'est pas mentionnée par POSIX 1003.1-2001, mais est disponible
dans la plupart des versions d'Unix.
HISTORIQUE
Une fonction
syslog
est appparue dans BSD 4.2.
BSD 4.3 documente
openlog(),
syslog(),
closelog(),
et
setlogmask().
4.3BSD-Reno documente aussi
vsyslog().
Bien sûr les premières fonctions v* utilisaient le mécanisme
<varargs.h>,
qui n'est pas compatible avec
<stdarg.h>.
NOTES
Le paramètre
ident
durant l'appel
openlog()
est généralement stocké tel quel. Ainsi si la chaîne vers laquelle il pointe
est modifiée,
syslog()
peut afficher la chaîne modifiée, et si la chaîne cesse d'exister,
le résultat est indéfini.
Le comportement le plus portable est l'utilisation d'une chaîne constante.
Ne jamais passer directement une chaîne fournie par l'utilisateur, utilisez
VOIR AUSSITRADUCTION
Christophe Blaess, 1996-2003.
|