Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
SYSLOG
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- PARAMÈTRES
- option
- facility
- level
- CONFORMITÉ
- HISTORIQUE
- NOTES
- VOIR AUSSI
- TRADUCTION
NOM
closelog, openlog, syslog - Envoyer un message de journalisation
SYNOPSIS
#include <syslog.h>
void openlog (const char * ident, int option, int
facility);
void syslog(int priority, const char *format, ...);
void closelog(void);
#include <stdarg.h>
void vsyslog(int priority, const char *format, va_list
ap);
DESCRIPTION
closelog() ferme le descripteur utilisé pour la
journalisation. L'utilisation de closelog() est facultative.
openlog() ouvre une connexion de journalisation. La chaîne pointée par
ident sera ajoutée à 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 libellé 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 d'openlog() est un OU binaire entre les constantes
suivantes :
- LOG_CONS
-
écrire directement sur la console système s'il y a une erreur durant la
transmission.
- LOG_NDELAY
-
ouvrir la connexion immédiatement (normalement, la connexion est ouverte
quand le premier message est transmis).
- LOG_NOWAIT
-
Ne pas attendre la fin des processus fils qui peuvent être créés lors de
l'enregistrement du message. La bibliothèque glibc ne crée pas de processus
fils, ainsi cette option est sans effet sous Linux.
- LOG_ODELAY
-
L'inverse de LOG_NDELAY; l'ouverture de la connexion est repoussée
jusqu'à l'invocation de syslog(). C'est le comportement par défaut, et
l'option n'a pas besoin d'être indiquée.
- LOG_PERROR
-
(pas dans POSIX.1-2001) écrire sur stderr également.
- LOG_PID
-
inclure le PID dans chaque message.
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.
- LOG_AUTH
-
message de sécurité/autorisation (DÉCONSEILLÉ ! Utilisez LOG_AUTHPRIV à
la place)
- LOG_AUTHPRIV
-
message de sécurité/autorisation (privé).
- LOG_CRON
-
message d'un démon horaire (cron et at)
- LOG_DAEMON
-
démon du système sans classification particulière.
- LOG_FTP
-
démon ftp.
- LOG_KERN
-
message du noyau.
- LOG_LOCAL0 through LOG_LOCAL7
-
réservé pour des utilisations locales.
- LOG_LPR
-
message du sous-système d'impression.
- LOG_MAIL
-
message du sous-système de courrier.
- LOG_NEWS
-
message du sous-système des news USENET.
- LOG_SYSLOG
-
message interne de syslogd
- LOG_USER (défaut)
-
message utilisateur générique.
- LOG_UUCP
-
message du sous-système UUCP.
level
Ceci détermine l'importance du message. Les niveaux, dans l'ordre
d'importance décroissante, sont :
- LOG_EMERG
-
Le système est inutilisable.
- LOG_ALERT
-
Des actions doivent être entreprises immédiatement.
- LOG_CRIT
-
Les conditions sont critiques.
- LOG_ERR
-
Des erreurs se produisent.
- LOG_WARNING
-
Des avertissement se présentent.
- LOG_NOTICE
-
Condition normale, mais message significatif.
- LOG_INFO
-
Message d'information simple.
- LOG_DEBUG
-
Message de débogage.
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.1-2001. POSIX.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.1-2001, mais est disponible dans la plupart des versions d'Unix.
HISTORIQUE
Une fonction syslog() est apparue dans BSD 4.2. BSD 4.3 documente
openlog(), syslog(), closelog() et setlogmask(). BSD-Reno 4.3
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
-
syslog (priority, "%s", chaîne);
à la place.
VOIR AUSSI
logger(1), setlogmask(3), syslogd(8)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en
utilisant la commande
« man -L C <section> <page_de_man> ».
|