Provided by:
manpages-es_1.55-10_all 
NOMBRE
closelog, openlog, syslog - envian 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'ON
closelog() cierra el descriptor que se este usando para escribir en el
registrador del sistema. El empleo de closelog() es opcional.
openlog() abre, para un programa, una conexion 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 operacion 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
llamaria automaticamente si fuera necesario, en cuyo caso ident tomaria
el valor NULL.
syslog() genera un mensaje en el registro, que sera distribuido por
syslogd(8). El argumento priority se construye con la operacion logica
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 sera reemplazada por la cadena con el mensaje de error
strerror(errno). Un caracter final de nueva linea sera anadido cuando
sea necesario.
La funcion 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'AMETROS
Esta seccion enumera los parametros empleados para poner los valores de
option, facility, y priority.
option
El argumento option de openlog() es el resultado de la combinacion 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 esta enviando algo al registrador del sistema.
LOG_NDELAY
Abre la conexion inmediatamente (normalmente, la conexion 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, asi que esta opcion no tiene efecto en
Linux.)
LOG_ODELAY
La opuesta de LOG_NDELAY; la apertura de la conexion se retrasa
hasta que se invoca a syslog(). (Esta es la opcion por defecto,
y no necesita ser especificada.)
LOG_PERROR
(No presente en SUSv3.) Imprime tambien en stderr.
LOG_PID
Incluye el PID con cada mensaje.
facility
El argumento facility se emplea para especificar que tipo de programa
esta registrando el mensaje. Esto permite que en el fichero de
configuracion se especifique que mensajes de diferentes programas se
manejen de forma distinta.
LOG_AUTH
mensajes de seguridad o autorizacion (DESAPROBADO; emplee en su
lugar LOG_AUTHPRIV)
LOG_AUTHPRIV
mensajes de seguridad o autorizacion (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 nucleo
LOG_LOCAL0 a LOG_LOCAL7
reservados para uso local
LOG_LPR
subsistema de impresora de linea (de impresion)
LOG_MAIL
subsistema de correo
LOG_NEWS
subsistema de tablon de anuncios USENET News
LOG_SYSLOG
mensajes generados internamente por syslogd
LOG_USER (predeterminado)
mensajes genericos 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 esta inutilizable
LOG_ALERT
debe tomarse una accion correctora inmediatamente
LOG_CRIT
condiciones criticas
LOG_ERR
condiciones de error
LOG_WARNING
condiciones de advertencia
LOG_NOTICE
condicion normal, pero significativa
LOG_INFO
mensaje informativo
LOG_DEBUG
mensaje del nivel de depuracion
La funcion setlogmask(3) puede ser empleada para restringir el registro
solamente en niveles determinados.
CONFORME A
Las funciones openlog(), closelog(), y syslog() (pero no vsyslog())
estan 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 excepcion de LOG_AUTHPRIV y LOG_FTP, los otros
valores de facility aparecen en la mayoria de sistemas Unix. El valor
LOG_PERROR para option no esta especificado por POSIX 1003.1-2001, pero
esta disponible en la mayoria de versiones de Unix.
HISTORIA
La funcion syslog aparecio en BSD 4.2. BSD 4.3 documenta openlog(),
syslog(), closelog(), y setlogmask(). 4.3BSD-Reno documenta tambien
vsyslog(). Por supuesto, funciones v* anteriores usaban el mecanismo
<varargs.h> , que no es compatible con <stdarg.h>.
OBSERVACIONES
El parametro 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 anadiendo 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'EASE TAMBI'EN
logger(1), setlogmask(3), syslog.conf(5), syslogd(8)