SYSLOG
Section : Manuel du programmeur Linux (
3)
Mise à jour de la version anglaise : 26 juillet 2007
Index
Menu principal
NOM
closelog, openlog, syslog, vsyslog - 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);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
vsyslog() :
_BSD_SOURCE
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.
Les sous-sections ci-dessous détaillent 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 :
- 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 à 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(8)
- 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.
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 plutôt :
syslog(priority, "%s", chaîne);
VOIR AUSSI
logger(1),
setlogmask(3),
syslog.conf(5),
syslogd(8)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 10 novembre 1996
et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 3 syslog ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- option
-
- facility
-
- level
-
- CONFORMITÉ
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 17 juillet 2008