Provided by: manpages-es_1.55-10_all bug

NOMBRE

       closelog, openlog, syslog - envían mensajes al registrador del sistema

SINOPSIS

       #include <syslog.h>

       void openlog(const char *ident, int option, int facility);
       void syslog(int priority, const char *format, ...);
       void closelog(void);

       #include <stdarg.h>

       void vsyslog(int priority, const char *format, va_list ap);

DESCRIPCIÓN

       closelog()  cierra  el  descriptor  que se esté usando para escribir en el registrador del
       sistema. El empleo de closelog() es opcional.

       openlog() abre, para un programa, una conexión con el registrador del sistema.  La  cadena
       de caracteres a la que apunte ident se adjunta con cada mensaje, y su valor es normalmente
       el nombre del  programa.   El  argumento  option  especifica  banderas  que  controlan  la
       operación  de  openlog()  y  las  llamadas  posteriores a syslog().  El argumento facility
       establece un valor por defecto que se utiliza si no  se  especifica  ninguno  en  llamadas
       posteriores  a  syslog().   Los  valores  de  option  y  facility  se dan abajo. El uso de
       openlog() es opcional; syslog() la llamaría automáticamente si fuera  necesario,  en  cuyo
       caso ident tomaría el valor NULL.

       syslog()  genera  un  mensaje  en  el  registro,  que será distribuido por syslogd(8).  El
       argumento priority se construye con la operación lógica  OR  de  facility  y  de  level  ,
       (explicados  abajo). Los restantes argumentos son un formato, format, como en printf(3), y
       cualesquiera argumentos requeridos por format, salvo que la secuencia de dos caracteres %m
       será reemplazada por la cadena con el mensaje de error strerror(errno).  Un carácter final
       de nueva línea será añadido cuando sea necesario.

       La función vsyslog() hace la misma tarea que syslog() con la diferencia de que  acepta  un
       conjunto  de  argumentos que han sido obtenidos usando las macros de stdarg(3) para listas
       de argumentos variables.

PARÁMETROS

       Esta sección enumera los parámetros empleados para poner los valores de option,  facility,
       y priority.

   option
       El argumento option de openlog() es el resultado de la combinación con el operador de bits
       O inclusivo de cualquiera de estos valoes:

       LOG_CONS
              Escribe directamente en la consola del sistema si hay un  error  mientras  se  está
              enviando algo al registrador del sistema.

       LOG_NDELAY
              Abre  la  conexión  inmediatamente  (normalmente,  la  conexión  se  abre cuando se
              registra el primer mensaje).

       LOG_NOWAIT
              No espera a los procesos hijo que pueden haber sido creados mientras se  registraba
              el  mensaje.   (La biblioteca C de GNU no crea un proceso hijo, así que esta opción
              no tiene efecto en Linux.)

       LOG_ODELAY
              La opuesta de LOG_NDELAY; la apertura de la conexión se retrasa hasta que se invoca
              a syslog().  (Esta es la opción por defecto, y no necesita ser especificada.)

       LOG_PERROR
              (No presente en SUSv3.) Imprime también en stderr.

       LOG_PID
              Incluye el PID con cada mensaje.

   facility
       El  argumento facility se emplea para especificar qué tipo de programa está registrando el
       mensaje. Esto permite que en el fichero de configuración se especifique  que  mensajes  de
       diferentes programas se manejen de forma distinta.

       LOG_AUTH
              mensajes de seguridad o autorización (DESAPROBADO; emplee en su lugar LOG_AUTHPRIV)

       LOG_AUTHPRIV
              mensajes de seguridad o autorización (privado)

       LOG_CRON
              el demonio del reloj (cron y at)

       LOG_DAEMON
              demonios del sistema con valor de `facility' separado

       LOG_FTP
              demonio de ftp

       LOG_KERN
              mensajes del núcleo

       LOG_LOCAL0 a LOG_LOCAL7
              reservados para uso local

       LOG_LPR
              subsistema de impresora de línea (de impresión)

       LOG_MAIL
              subsistema de correo

       LOG_NEWS
              subsistema de tablón de anuncios USENET News

       LOG_SYSLOG
              mensajes generados internamente por syslogd

       LOG_USER  (predeterminado)
              mensajes genéricos del nivel de usuario

       LOG_UUCP
              subsistema de UUCP

   level
       Esto  determina  la  importancia  del  mensaje.  Los  niveles son, en orden de importancia
       decreciente:

       LOG_EMERG
              el sistema está inutilizable

       LOG_ALERT
              debe tomarse una acción correctora inmediatamente

       LOG_CRIT
              condiciones críticas

       LOG_ERR
              condiciones de error

       LOG_WARNING
              condiciones de advertencia

       LOG_NOTICE
              condición normal, pero significativa

       LOG_INFO
              mensaje informativo

       LOG_DEBUG
              mensaje del nivel de depuración

       La función setlogmask(3) puede ser empleada  para  restringir  el  registro  solamente  en
       niveles determinados.

CONFORME A

       Las funciones openlog(), closelog(), y syslog() (pero no vsyslog()) están especificadas en
       SUSv2 y POSIX 1003.1-2001.  POSIX 1003.1-2001 especifica solamente los valores LOG_USER  y
       LOG_LOCAL*  para facility.  Sin embargo, salvo la excepción de LOG_AUTHPRIV y LOG_FTP, los
       otros valores de facility aparecen en la mayoría de sistemas Unix.   El  valor  LOG_PERROR
       para option no está especificado por POSIX 1003.1-2001, pero está disponible en la mayoría
       de versiones de Unix.

HISTORIA

       La función syslog apareció en BSD 4.2.  BSD 4.3 documenta openlog(), syslog(), closelog(),
       y  setlogmask().   4.3BSD-Reno  documenta  también  vsyslog().  Por supuesto, funciones v*
       anteriores usaban el mecanismo <varargs.h> , que no es compatible con <stdarg.h>.

OBSERVACIONES

       El parámetro ident en la llamada a openlog() es probablemente almacenado tal cual. De esta
       manera,  si  la cadena a la que apunta es modificada, syslog() puede comenzar añadiendo la
       cadena modificada, y si la cadena a la que apunta deja  de  existir,  los  resultados  son
       indefinidos.  La mayor portabilidad se consigue usando una cadena constante.

       Nunca pase una cadena con datos de usuario como formato, use
              syslog("%s", string);
       en su lugar.

VÉASE TAMBIÉN

       logger(1), setlogmask(3), syslog.conf(5), syslogd(8)