Provided by: manpages-fr-dev_4.19.0-7_all
NOM
closelog, openlog, syslog, vsyslog - Envoyer des messages vers le journaliseur du système
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <syslog.h> void openlog(const char *ident, int option, int type_programme); void syslog(int priorité, const char *format, ...); void closelog(void); void vsyslog(int priorité, const char *format, va_list liste_arguments); Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) : vsyslog() : Depuis la glibc 2.19 : _DEFAULT_SOURCE glibc 2.19 et antérieures : _BSD_SOURCE
DESCRIPTION
openlog() openlog() ouvre une connexion vers le journaliseur du système pour un programme. La chaîne pointée par ident est ajoutée en préfixe de chaque message et son contenu est en général le nom du programme. Si la valeur de ident est NULL, le nom du programme est utilisé (POSIX.1-2008 ne précise pas le comportement si la valeur de ident est NULL). L'argument option précise les attributs contrôlant le fonctionnement de openlog() et des appels ultérieurs à syslog(). L'argument type_programme définit une valeur par défaut à utiliser lorsque ce paramètre n'est pas fourni lors des appels ultérieurs à syslog(). Les valeurs pour option et type_programme 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 NULL par défaut. syslog() et vsyslog() syslog() génère un message de journalisation qui sera distribué par syslogd(8). L'argument priorité est formé en effectuant un OU binaire entre les valeurs de type_programme et niveau (voir description plus loin). Si aucune valeur de type_programme n'entre dans ce OU binaire, c'est la valeur par défaut définie par openlog() qui sera utilisée, ou, s'il n'y a pas eu d'appel précédent à openlog(), c'est la valeur de LOG_USER qui sera utilisée par défaut. Les arguments restants sont un format, comme dans printf(3) et tous les arguments nécessaires pour ce format, sauf que la séquence de deux caractères %m sera remplacée par la chaîne du message d'erreur strerror(errno). L'ajout d'un saut de ligne final à la chaîne de format n'est pas nécessaire. 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 des macros de stdarg(3) pour les listes variables d'arguments. closelog() closelog() ferme le descripteur de fichier utilisé pour écrire au journaliseur du système. L'utilisation de closelog() est facultative. Valeurs pour option L'argument option d'openlog() est un masque de bits construit à l'aide d'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 vers le journaliseur du système. LOG_NDELAY Ouvrir la connexion immédiatement (normalement, la connexion est ouverte lors de la journalisation du premier message). Cela peut s'avérer utile, par exemple, lorsqu'un appel subséquent à chroot(2) rend inaccessible le nom de chemin utilisé en interne par le programme à l'origine du message de journalisation. LOG_NOWAIT Ne pas attendre la fin des processus enfants qui ont pu être créés lors de l'enregistrement du message. La bibliothèque GNU C ne créant pas de processus enfant, 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 donc pas besoin d'être indiquée. LOG_PERROR Écrire sur stderr également (pas dans POSIX.1-2001, ni dans POSIX.1-2008). LOG_PID Inclure le PID de l'appelant dans chaque message. Valeurs pour type_programme L'argument type_programme permet d'indiquer le type du programme qui est à l'origine de la journalisation du message. Cela permet au fichier de configuration de spécifier que les messages seront traités différemment en fonction du type de programme qui les a émis. LOG_AUTH Messages de sécurité/autorisation. LOG_AUTHPRIV Messages de sécurité/autorisation (privés). LOG_CRON Messages de démon horaire (cron et at). LOG_DAEMON Messages de démons du système sans type de programme particulier. LOG_FTP Messages de démon ftp. LOG_KERN Messages du noyau (ils ne peuvent pas être produits par des processus d’utilisateur). LOG_LOCAL0 jusqu’à LOG_LOCAL7 Réservés pour des utilisations locales. LOG_LPR Messages du sous-système d'impression. LOG_MAIL Messages du sous-système de courrier. LOG_NEWS Messages du sous-système des nouvelles USENET. LOG_SYSLOG Messages internes de syslogd(8). LOG_USER (défaut) Messages utilisateur génériques. LOG_UUCP Messages du sous-système UUCP. Valeurs pour niveau Cela 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 avertissements se présentent. LOG_NOTICE Évènement normal mais important. LOG_INFO Message d'information simple. LOG_DEBUG Message de débogage. La fonction setlogmask(3) permet de restreindre l'enregistrement à certains niveaux uniquement.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7). ┌─────────────────────────────────────────────┬──────────────────────┬────────────────────┐ │Interface │ Attribut │ Valeur │ ├─────────────────────────────────────────────┼──────────────────────┼────────────────────┤ │openlog(), closelog() │ Sécurité des threads │ MT-Safe │ ├─────────────────────────────────────────────┼──────────────────────┼────────────────────┤ │syslog(), vsyslog() │ Sécurité des threads │ MT-Safe env locale │ └─────────────────────────────────────────────┴──────────────────────┴────────────────────┘
STANDARDS
Les fonctions openlog(), closelog() et syslog() (mais pas vsyslog()) sont spécifiées dans SUSv2, POSIX.1-2001 et POSIX.1-2008. POSIX.1-2001 indique uniquement les valeurs LOG_USER et LOG_LOCAL* pour l'argument type_programme. Néanmoins, à l'exception de LOG_AUTHPRIV et LOG_FTP, les autres valeurs pour type_programme sont disponibles sur la plupart des systèmes UNIX. La valeur LOG_PERROR pour option n'est pas spécifiée par POSIX.1-2001 ou POSIX.1-2008, mais elle 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 préfixer 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 formatée par l'utilisateur, utilisez plutôt : syslog(priority, "%s", chaîne);
VOIR AUSSI
journalctl(1), logger(1), setlogmask(3), syslog.conf(5), syslogd(8)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean- luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Lucien Gentis <lucien.gentis@waika9.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.