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().- Si - openlog()no se ha llamado antes de la llamada a- syslog(), entonces- openlog()se llamará sin argumentos.- Lanza un evento de auditoría - syslog.syslogcon los argumentos- priority,- message.- Distinto en la versión 3.2: En versiones anteriores, - openlog()no sería llamado automáticamente si no fuera un llamado previo de la llamada a la función- syslog(), postergando la implementación de syslog para llamar a- openlog().- 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.) - openlog()debe ser llamada en el intérprete principal antes de que- syslog()pueda ser utilizada en un subintérprete. De lo contrario, lanzará- RuntimeError.
- syslog.openlog([ident[, logoption[, facility]]])¶
- Las opciones de registro de las llamadas a - syslog()pueden establecerse llamando a la función- openlog().- syslog()llamará a- openlog()sin argumentos si el registro no está abierto actualmente.- 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.openlogcon 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á - RuntimeErrorsi se llama en un subintérprete.
- syslog.closelog()¶
- Reinicia los valores del módulo syslog y llama a la librería del sistema - closelog().- Esto provoca que el módulo actúe como lo hacía cuando fue importado inicialmente. Por ejemplo, se llamará a - openlog()en la primera llamada a- syslog()(si no se ha llamado a- openlog()ya), e ident y otros parámetros de- openlog()se reiniciarán a sus valores por defecto.- Lanza un evento de auditoría - syslog.closelogsin 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á - RuntimeErrorsi se llama en un subintérprete.
- syslog.setlogmask(maskpri)¶
- Asigna la máscara de prioridad a maskpri y retorna el valor anterior de la máscara. Las llamadas a - syslog()con un nivel de prioridad no asignado en maskpri se ignoran. El comportamiento por defecto es registrar todas las prioridades. La función- LOG_MASK(pri)calcula la máscara para la prioridad individual pri. La función- LOG_UPTO(pri)calcula la máscara para todas las prioridades mayores o iguales que pri.- Lanza un evento de auditoría - syslog.setlogmaskcon 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_INSTALLand- 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_NOWAITand- 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...')