"syslog" --- Unix syslog library routines
*****************************************

======================================================================

Ce module fournit une interface aux routines de la bibliothèque
"syslog" Unix. Consultez les pages du manuel Unix pour plus de détails
sur "syslog".

Availability: Unix, not WASI, not iOS.

This module wraps the system "syslog" family of routines.  A pure
Python library that can speak to a syslog server is available in the
"logging.handlers" module as "SysLogHandler".

Le module définit les fonctions suivantes :

syslog.syslog(message)
syslog.syslog(priority, message)

   Envoie la chaîne de caractères *message* au journaliseur système.
   Un retour à la ligne est ajouté à la fin du message si nécessaire.
   Chaque message est marqué avec une priorité constituée d'une
   *fonction* et d'un *niveau*. L'argument optionnel *priority*, qui
   par défaut est "LOG_INFO", définit la priorité du message. Si la
   fonction n'est pas encodée dans *priority* en utilisant un OU
   logique ("LOG_INFO | LOG_USER"), la valeur donnée lors de l'appel à
   "openlog()" est utilisée.

   If "openlog()" has not been called prior to the call to "syslog()",
   "openlog()" will be called with no arguments.

   Lève un évènement d'audit "syslog.syslog" avec les arguments
   "priority", "message".

   Modifié dans la version 3.2: In previous versions, "openlog()"
   would not be called automatically if it wasn't called prior to the
   call to "syslog()", deferring to the syslog implementation to call
   "openlog()".

   Modifié dans la version 3.12: This function is restricted in
   subinterpreters. (Only code that runs in multiple interpreters is
   affected and the restriction is not relevant for most users.)
   "openlog()" must be called in the main interpreter before
   "syslog()" may be used in a subinterpreter.  Otherwise it will
   raise "RuntimeError".

syslog.openlog([ident[, logoption[, facility]]])

   Les options de journalisation utilisées lors des appels à
   "syslog()" peuvent être définies en appelant "openlog()".
   "syslog()" appellera "openlog()" sans argument si le journal n'est
   pas déjà ouvert.

   L'argument nommé optionnel *ident* est une chaîne de caractères qui
   est ajoutée au début de chaque message. Par défaut, le dernier
   élément du chemin définit dans "sys.argv[0]" est utilisé.
   L'argument nommé optionnel *logoption* est un champ de bits (défini
   à 0 par défaut) -- Voir ci-dessous pour les combinaisons possibles.
   L'argument nommé optionnel *facility* définit la fonction à
   utiliser pour les messages qui n'en définissent pas. Par défaut,
   "LOG_USER" est utilisée.

   Lève un évènement d'audit "syslog.openlog" avec les arguments
   "ident", "logoption", "facility".

   Modifié dans la version 3.2: In previous versions, keyword
   arguments were not allowed, and *ident* was required.

   Modifié dans la version 3.12: This function is restricted in
   subinterpreters. (Only code that runs in multiple interpreters is
   affected and the restriction is not relevant for most users.) This
   may only be called in the main interpreter. It will raise
   "RuntimeError" if called in a subinterpreter.

syslog.closelog()

   Réinitialise la configuration du module *syslog* et appelle la
   bibliothèque système "closelog()".

   Cet appel permet au module de se comporter comme lors de son import
   initial.  Par exemple, "openlog()" sera appelée lors du premier
   appel à "syslog()" (sauf si "openlog()" a déjà été appelée). Quant
   à *ident* et aux paramètres de "openlog()", ceux-ci seront
   réinitialisés à leur valeur par défaut.

   Lève un évènement d'audit "syslog.closelog" sans argument.

   Modifié dans la version 3.12: This function is restricted in
   subinterpreters. (Only code that runs in multiple interpreters is
   affected and the restriction is not relevant for most users.) This
   may only be called in the main interpreter. It will raise
   "RuntimeError" if called in a subinterpreter.

syslog.setlogmask(maskpri)

   Définit le masque de priorité à la valeur *maskpri* et retourne la
   précédente valeur du masque.  Les appels à "syslog()" avec un
   niveau de priorité non présent dans *maskpri* seront ignorés.  La
   fonction "LOG_MASK(pri)" calcule le masque pour la priorité *pri*.
   La fonction "LOG_UPTO(pri)" calcule le masque pour toutes les
   priorités jusqu'à *pri* (inclus).

   Lève un évènement d'audit "syslog.setlogmask" avec l'argument
   "maskpri".

Le module définit les constantes suivantes :

syslog.LOG_EMERG
syslog.LOG_ALERT
syslog.LOG_CRIT
syslog.LOG_ERR
syslog.LOG_WARNING
syslog.LOG_NOTICE
syslog.LOG_INFO
syslog.LOG_DEBUG

   Priority levels (high to low).

syslog.LOG_AUTH
syslog.LOG_AUTHPRIV
syslog.LOG_CRON
syslog.LOG_DAEMON
syslog.LOG_FTP
syslog.LOG_INSTALL
syslog.LOG_KERN
syslog.LOG_LAUNCHD
syslog.LOG_LPR
syslog.LOG_MAIL
syslog.LOG_NETINFO
syslog.LOG_NEWS
syslog.LOG_RAS
syslog.LOG_REMOTEAUTH
syslog.LOG_SYSLOG
syslog.LOG_USER
syslog.LOG_UUCP
syslog.LOG_LOCAL0
syslog.LOG_LOCAL1
syslog.LOG_LOCAL2
syslog.LOG_LOCAL3
syslog.LOG_LOCAL4
syslog.LOG_LOCAL5
syslog.LOG_LOCAL6
syslog.LOG_LOCAL7

   Facilities, depending on availability in "<syslog.h>" for
   "LOG_AUTHPRIV", "LOG_FTP", "LOG_NETINFO", "LOG_REMOTEAUTH",
   "LOG_INSTALL" and "LOG_RAS".

   Modifié dans la version 3.13: Added "LOG_FTP", "LOG_NETINFO",
   "LOG_REMOTEAUTH", "LOG_INSTALL", "LOG_RAS", and "LOG_LAUNCHD".

syslog.LOG_PID
syslog.LOG_CONS
syslog.LOG_NDELAY
syslog.LOG_ODELAY
syslog.LOG_NOWAIT
syslog.LOG_PERROR

   Log options, depending on availability in "<syslog.h>" for
   "LOG_ODELAY", "LOG_NOWAIT" and "LOG_PERROR".


Exemples
========


Exemple simple
--------------

Un simple jeu d'exemples :

   import syslog

   syslog.syslog('Processing started')
   if error:
       syslog.syslog(syslog.LOG_ERR, 'Processing started')

Un exemple montrant comment définir certaines options de
journalisation. Ces options ajoutent l'identifiant du processus
(*PID*) dans les messages journalisés et écrivent ces messages à
l'aide de la fonction utilisée pour la journalisation des systèmes de
messagerie :

   syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
   syslog.syslog('E-mail processing initiated...')
