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)

Linux                                             3 enero 2002                                         SYSLOG(3)