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 (consultez
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 dans l'outil de journalisation système
pour un programme. La chaîne pointée par
ident est
ajoutée en préfixe de chaque message, et donne typiquement le nom du
programme. Si
ident est NULL, le nom du programme est utilisé.
(POSIX.1-2008 ne précise pas ce comportement si
ident est NULL.)
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 peut être 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 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, ni dans POSIX.1-2008.) É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
- 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
- messages noyau (ils ne peuvent pas être produit par
des processus utilisateurs)
- 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(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.
Les fonctions
openlog(),
closelog() et
syslog() (mais pas
vsyslog()) sont mentionnées dans SUSv2 et POSIX.1-2001 et
POSIX.1-2008. 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 mentionnée ni par
POSIX.1-2001 ni par POSIX.1-2008, 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)
COLOPHON¶
Cette page fait partie de la publication 3.44 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
<
http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Nicolas François
et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou 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> ».