syslog — Unix syslog library routines


Este módulo ofrece una interfaz a las rutinas de la biblioteca syslog de Unix. Consulte las páginas del manual de Unix para una descripción detallada de la facility (es así como se llama en la documentación a un subsistema de aplicaciones) 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.

El módulo define las siguientes funciones:

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

Envía la cadena de caracteres message al registrador del sistema. Se añade un final de línea si es necesario. Cada mensaje se etiqueta con una prioridad compuesta por una facility y un nivel. El argumento opcional priority, que por defecto es LOG_INFO, determina la prioridad del mensaje. Si la facility no está codificada en priority usando un OR lógico (LOG_INFO | LOG_USER), se usará el valor con el que se llama a openlog().

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

Lanza un evento de auditoría syslog.syslog con los argumentos priority, message.

Distinto en la versión 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().

Distinto en la versión 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.

El argumento por palabra clave opcional ident es una cadena de caracteres que precede a cada mensaje, y por defecto es sys.argv[0] retirando los componentes delanteros de la ruta. El argumento nombrado opcional logoption (por defecto es 0) es un campo de tipo bit – véanse a continuación los posibles valores que pueden combinarse. El argumento nombrado opcional facility (por defecto es LOG_USER) establece una facility por defecto para mensajes que no tienen una facility explícitamente codificada.

Lanza un evento de auditoría syslog.openlog con los argumentos ident, logoption, facility.

Distinto en la versión 3.2: En versiones anteriores, argumentos por palabras llave no eran permitidos, y la ident era obligatoria.

Distinto en la versión 3.12: Esta función está restringida en subintérpretes. (Solo el código que se ejecuta en múltiples intérpretes se ve afectado y la restricción no es relevante para la mayoría de los usuarios.) Esta solo puede ser llamada en el intérprete principal. Lanzará RuntimeError si se llama en un subintérprete.

syslog.closelog()

Reinicia los valores del módulo syslog y llama a la librería del sistema 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.

Lanza un evento de auditoría syslog.closelog sin argumentos.

Distinto en la versión 3.12: Esta función está restringida en subintérpretes. (Solo el código que se ejecuta en múltiples intérpretes se ve afectado y la restricción no es relevante para la mayoría de los usuarios.) Esta solo puede ser llamada en el intérprete principal. Lanzará RuntimeError si se llama en un subintérprete.

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.

Lanza un evento de auditoría syslog.setlogmask con argumento maskpri.

El módulo define las siguientes constantes:

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.

Distinto en la versión 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.

Ejemplos

Ejemplo sencillo

Un conjunto sencillo de ejemplos:

import syslog

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

Un ejemplo de configuración de varias opciones de registro, que incluirán el identificador del proceso en los mensajes registrados, y escribirán los mensajes a la facility de destino usada para el registro de correo:

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