"syslog" --- Unix syslog library routines
En esta página
"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.syslog" con 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.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()".
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.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)
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.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 "
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 "
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...')