syslog(3) Library Functions Manual syslog(3) NOM closelog, openlog, syslog, vsyslog - Envoyer des messages vers le journaliseur du systeme BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include void openlog(const char *ident, int option, int type_programme); void syslog(int priorite, const char *format, ...); void closelog(void); void vsyslog(int priorite, const char *format, va_list liste_arguments); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : vsyslog() : Depuis la glibc 2.19 : _DEFAULT_SOURCE glibc 2.19 et anterieures : _BSD_SOURCE DESCRIPTION openlog() openlog() ouvre une connexion vers le journaliseur du systeme pour un programme. La chaine pointee par ident est ajoutee en prefixe de chaque message et son contenu est en general le nom du programme. Si la valeur de ident est NULL, le nom du programme est utilise (POSIX.1-2008 ne precise pas le comportement si la valeur de ident est NULL). L'argument option precise les attributs controlant le fonctionnement de openlog() et des appels ulterieurs a syslog(). L'argument type_programme definit une valeur par defaut a utiliser lorsque ce parametre n'est pas fourni lors des appels ulterieurs a syslog(). Les valeurs pour option et type_programme sont decrites plus bas. L'utilisation de openlog() est optionnelle. Cette fonction sera automatiquement invoquee par syslog() si besoin. Dans ce cas, ident aura la valeur NULL par defaut. syslog() et vsyslog() syslog() genere un message de journalisation qui sera distribue par syslogd(8). L'argument priorite est forme 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 defaut definie par openlog() qui sera utilisee, ou, s'il n'y a pas eu d'appel precedent a openlog(), c'est la valeur de LOG_USER qui sera utilisee par defaut. Les arguments restants sont un format, comme dans printf(3) et tous les arguments necessaires pour ce format, sauf que la sequence de deux caracteres %m sera remplacee par la chaine du message d'erreur strerror(errno). L'ajout d'un saut de ligne final a la chaine de format n'est pas necessaire. La fonction vsyslog() realise la meme tache que syslog() a la difference qu'elle prend un ensemble d'arguments obtenus a l'aide des macros de stdarg(3) pour les listes variables d'arguments. closelog() closelog() ferme le descripteur de fichier utilise pour ecrire au journaliseur du systeme. L'utilisation de closelog() est facultative. Valeurs pour option L'argument option d'openlog() est un masque de bits construit a l'aide d'un OU binaire entre les constantes suivantes : LOG_CONS Ecrire directement sur la console systeme s'il y a une erreur durant la transmission vers le journaliseur du systeme. LOG_NDELAY Ouvrir la connexion immediatement (normalement, la connexion est ouverte lors de la journalisation du premier message). Cela peut s'averer utile, par exemple, lorsqu'un appel subsequent a chroot(2) rend inaccessible le nom de chemin utilise en interne par le programme a l'origine du message de journalisation. LOG_NOWAIT Ne pas attendre la fin des processus enfants qui ont pu etre crees lors de l'enregistrement du message. La bibliotheque GNU C ne creant pas de processus enfant, cette option est sans effet sous Linux. LOG_ODELAY L'inverse de LOG_NDELAY ; l'ouverture de la connexion est repoussee jusqu'a l'invocation de syslog(). C'est le comportement par defaut et l'option n'a donc pas besoin d'etre indiquee. LOG_PERROR Ecrire sur stderr egalement (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 a l'origine de la journalisation du message. Cela permet au fichier de configuration de specifier que les messages seront traites differemment en fonction du type de programme qui les a emis. LOG_AUTH Messages de securite/autorisation. LOG_AUTHPRIV Messages de securite/autorisation (prives). LOG_CRON Messages de demon horaire (cron et at). LOG_DAEMON Messages de demons du systeme sans type de programme particulier. LOG_FTP Messages de demon ftp. LOG_KERN Messages du noyau (ils ne peuvent pas etre produits par des processus d'utilisateur). LOG_LOCAL0 jusqu'a LOG_LOCAL7 Reserves pour des utilisations locales. LOG_LPR Messages du sous-systeme d'impression. LOG_MAIL Messages du sous-systeme de courrier. LOG_NEWS Messages du sous-systeme des nouvelles USENET. LOG_SYSLOG Messages internes de syslogd(8). LOG_USER (defaut) Messages utilisateur generiques. LOG_UUCP Messages du sous-systeme UUCP. Valeurs pour niveau Cela determine l'importance du message. Les niveaux, dans l'ordre d'importance decroissante, sont : LOG_EMERG Le systeme est inutilisable. LOG_ALERT Des actions doivent etre entreprises immediatement. LOG_CRIT Les conditions sont critiques. LOG_ERR Des erreurs se produisent. LOG_WARNING Des avertissements se presentent. LOG_NOTICE Evenement normal mais important. LOG_INFO Message d'information simple. LOG_DEBUG Message de debogage. La fonction setlogmask(3) permet de restreindre l'enregistrement a certains niveaux uniquement. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +----------------------+--------------------------+--------------------+ |Interface | Attribut | Valeur | +----------------------+--------------------------+--------------------+ |openlog(), closelog() | Securite des threads | MT-Safe | +----------------------+--------------------------+--------------------+ |syslog(), vsyslog() | Securite des threads | MT-Safe env locale | +----------------------+--------------------------+--------------------+ STANDARDS syslog() openlog() closelog() POSIX.1-2008. vsyslog() Aucun. HISTORIQUE syslog() 4.2BSD, SUSv2, POSIX.1-2001. openlog() closelog() 4.3BSD, SUSv2, POSIX.1-2001. vsyslog() 4.3BSD-Reno. POSIX.1-2001 indique uniquement les valeurs LOG_USER et LOG_LOCAL* pour l'argument type_programme. Neanmoins, a l'exception de LOG_AUTHPRIV et LOG_FTP, les autres valeurs pour type_programme sont disponibles sur la plupart des systemes UNIX. La valeur LOG_PERROR pour option n'est pas specifiee par POSIX.1-2001 ou POSIX.1-2008, mais elle est disponible dans la plupart des versions d'UNIX. NOTES Le parametre ident durant l'appel a openlog() est generalement stocke tel quel. Ainsi, si la chaine vers laquelle il pointe est modifiee, syslog() peut prefixer la chaine modifiee, et si la chaine cesse d'exister, le resultat est indefini. Le comportement le plus portable est l'utilisation d'une chaine constante. Ne jamais passer directement une chaine formatee par l'utilisateur, utilisez plutot : syslog(priority, "%s", chaine); VOIR AUSSI journalctl(1), logger(1), setlogmask(3), syslog.conf(5), syslogd(8) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 syslog(3)