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.

Disponibilité: 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]]])

Logging options of subsequent syslog() calls can be set by calling openlog(). syslog() will call openlog() with no arguments if the log is not currently open.

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().

This causes the module to behave as it does when initially imported. For example, openlog() will be called on the first syslog() call (if openlog() hasn't already been called), and ident and other openlog() parameters are reset to defaults.

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)

Set the priority mask to maskpri and return the previous mask value. Calls to syslog() with a priority level not set in maskpri are ignored. The default is to log all priorities. The function LOG_MASK(pri) calculates the mask for the individual priority pri. The function LOG_UPTO(pri) calculates the mask for all priorities up to and including pri.

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...')