syslog
--- Routines de bibliothèque syslog Unix¶
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
.
Ce module interagit avec l'ensemble des routines du journaliseur système syslog
. Une bibliothèque écrite exclusivement en Python est également disponible pour parler à un serveur syslog dans le module logging.handlers
sous le nom 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 tosyslog()
,openlog()
will be called with no arguments.Lève un évènement d'audit
syslog.syslog
avec les argumentspriority
,message
.
-
syslog.
openlog
([ident[, logoption[, facility]]])¶ Les options de journalisation utilisées lors des appels à
syslog()
peuvent être définies en appelantopenlog()
.syslog()
appelleraopenlog()
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 argumentsident
,logoption
,facility
.Modifié dans la version 3.2: In previous versions, keyword arguments were not allowed, and ident was required. The default for ident was dependent on the system libraries, and often was
python
instead of the name of the Python program file.
-
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 siopenlog()
a déjà été appelée). Quant à ident et aux paramètres deopenlog()
, ceux-ci seront réinitialisés à leur valeur par défaut.Lève un évènement d'audit
syslog.closelog
sans argument.
-
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 fonctionLOG_MASK(pri)
calcule le masque pour la priorité pri. La fonctionLOG_UPTO(pri)
calcule le masque pour toutes les priorités jusqu'à pri (inclus).Lève un évènement d'audit
syslog.setlogmask
avec l'argumentmaskpri
.
Le module définit les constantes suivantes :
- Niveau de priorités (décroissant) :
LOG_EMERG
,LOG_ALERT
,LOG_CRIT
,LOG_ERR
,LOG_WARNING
,LOG_NOTICE
,LOG_INFO
,LOG_DEBUG
.- Fonctions :
LOG_KERN
,LOG_USER
,LOG_MAIL
,LOG_DAEMON
,LOG_AUTH
,LOG_LPR
,LOG_NEWS
,LOG_UUCP
,LOG_CRON
,LOG_SYSLOG
,LOG_LOCAL0
àLOG_LOCAL7
et, si défini dans<syslog.h>
,LOG_AUTHPRIV
.- Options de journalisation :
LOG_PID
,LOG_CONS
,LOG_NDELAY
et, si défini dans<syslog.h>
,LOG_ODELAY
,LOG_NOWAIT
etLOG_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...')