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