.\" Written Feb 1994 by Steve Greenland (stevegr@neosoft.com) .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" Updated 1999.12.19 by Karl M. Hegbloom .\" .\" Updated 13 Oct 2001, Michael Kerrisk .\" Added description of vsyslog .\" Added descriptions of (SUSv3-specified) LOG_ODELAY and LOG_NOWAIT .\" Added brief description of facility and option arguments .\" Added CONFORMING TO section .\" 2001-10-13, aeb, minor changes .\" Modified 13 Dec 2001, Martin Schulze .\" Modified 3 Jan 2002, Michael Kerrisk .\" .\" Translated into Spanish Thu Mar 12 12:24:57 CET 1998 by Gerardo .\" Aburruzaga García .\" Traducción revisada por Miguel Pérez Ibars el 21-enero-2005 .\" .TH SYSLOG 3 "3 enero 2002" "Linux" "Manual del Programador de Linux" .SH NOMBRE closelog, openlog, syslog \- envían mensajes al registrador del sistema .SH SINOPSIS .B #include .sp .BI "void openlog(const char *" ident ", int " option ", int " facility ); .br .BI "void syslog(int " priority ", const char *" format ", ...);" .br .BI "void closelog(void);" .sp .B #include .sp .BI "void vsyslog(int " priority ", const char *" format ", va_list " ap ); .br .SH DESCRIPCIÓN .B closelog() cierra el descriptor que se esté usando para escribir en el registrador del sistema. El empleo de .B closelog() es opcional. .sp .B openlog() abre, para un programa, una conexión con el registrador del sistema. La cadena de caracteres a la que apunte .I ident se adjunta con cada mensaje, y su valor es normalmente el nombre del programa. El argumento .I option especifica banderas que controlan la operación de .B openlog() y las llamadas posteriores a .BR syslog() . El argumento .I facility establece un valor por defecto que se utiliza si no se especifica ninguno en llamadas posteriores a .BR syslog() . Los valores de .I option y .I facility se dan abajo. El uso de .B openlog() es opcional; .B syslog() la llamaría automáticamente si fuera necesario, en cuyo caso .I ident tomaría el valor NULL. .sp .B syslog() genera un mensaje en el registro, que será distribuido por .BR syslogd (8). El argumento .I priority se construye con la operación lógica OR de .I facility y de .I level , (explicados abajo). Los restantes argumentos son un formato, .IR format , como en .BR printf (3), y cualesquiera argumentos requeridos por .IR format , salvo que la secuencia de dos caracteres %m será reemplazada por la cadena con el mensaje de error .IR strerror ( errno ). Un carácter final de nueva línea será añadido cuando sea necesario. La función .B vsyslog() hace la misma tarea que .B syslog() con la diferencia de que acepta un conjunto de argumentos que han sido obtenidos usando las macros de .BR stdarg (3) para listas de argumentos variables. .SH "PARÁMETROS" Esta sección enumera los parámetros empleados para poner los valores de .IR option , " facility" ", y " priority . .SS option El argumento .I option de .B openlog() es el resultado de la combinación con el operador de bits O inclusivo de cualquiera de estos valoes: .TP .B LOG_CONS Escribe directamente en la consola del sistema si hay un error mientras se está enviando algo al registrador del sistema. .TP .B LOG_NDELAY Abre la conexión inmediatamente (normalmente, la conexión se abre cuando se registra el primer mensaje). .TP .B 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.) .TP .B LOG_ODELAY La opuesta de .BR LOG_NDELAY ; la apertura de la conexión se retrasa hasta que se invoca a .B syslog(). (Esta es la opción por defecto, y no necesita ser especificada.) .TP .B LOG_PERROR (No presente en SUSv3.) Imprime también en stderr. .TP .B LOG_PID Incluye el PID con cada mensaje. .SS facility El argumento .I 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. .TP .B LOG_AUTH mensajes de seguridad o autorización (DESAPROBADO; emplee en su lugar .BR LOG_AUTHPRIV ) .TP .B LOG_AUTHPRIV mensajes de seguridad o autorización (privado) .TP .B LOG_CRON el demonio del reloj .RB ( cron " y " at ) .TP .B LOG_DAEMON demonios del sistema con valor de `facility' separado .TP .B LOG_FTP demonio de ftp .TP .B LOG_KERN mensajes del núcleo .TP .BR LOG_LOCAL0 " a " LOG_LOCAL7 reservados para uso local .TP .B LOG_LPR subsistema de impresora de línea (de impresión) .TP .B LOG_MAIL subsistema de correo .TP .B LOG_NEWS subsistema de tablón de anuncios USENET News .TP .B LOG_SYSLOG mensajes generados internamente por .B syslogd .TP .B LOG_USER " (predeterminado)" mensajes genéricos del nivel de usuario .TP .B LOG_UUCP subsistema de UUCP .SS level Esto determina la importancia del mensaje. Los niveles son, en orden de importancia decreciente: .TP .B LOG_EMERG el sistema está inutilizable .TP .B LOG_ALERT debe tomarse una acción correctora inmediatamente .TP .B LOG_CRIT condiciones críticas .TP .B LOG_ERR condiciones de error .TP .B LOG_WARNING condiciones de advertencia .TP .B LOG_NOTICE condición normal, pero significativa .TP .B LOG_INFO mensaje informativo .TP .B LOG_DEBUG mensaje del nivel de depuración .LP La función .BR setlogmask (3) puede ser empleada para restringir el registro solamente en niveles determinados. .SH "CONFORME A" Las funciones .BR openlog() , .BR closelog() , y .BR syslog() (pero no .BR vsyslog() ) están especificadas en SUSv2 y POSIX 1003.1-2001. POSIX 1003.1-2001 especifica solamente los valores .B LOG_USER y .BR LOG_LOCAL* para .IR facility . Sin embargo, salvo la excepción de .BR LOG_AUTHPRIV y .BR LOG_FTP , los otros valores de .I facility aparecen en la mayoría de sistemas Unix. El valor .B LOG_PERROR para .I option no está especificado por POSIX 1003.1-2001, pero está disponible en la mayoría de versiones de Unix. .SH HISTORIA La función .B syslog apareció en BSD 4.2. BSD 4.3 documenta .IR openlog (), .IR syslog (), .IR closelog (), y .IR setlogmask (). 4.3BSD-Reno documenta también .IR vsyslog (). Por supuesto, funciones v* anteriores usaban el mecanismo .I , que no es compatible con .IR . .SH OBSERVACIONES El parámetro .I ident en la llamada a .B openlog() es probablemente almacenado tal cual. De esta manera, si la cadena a la que apunta es modificada, .B 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. .LP Nunca pase una cadena con datos de usuario como formato, use .RS syslog("%s", string); .RE en su lugar. .SH "VÉASE TAMBIÉN" .BR logger (1), .BR setlogmask (3), .BR syslog.conf (5), .BR syslogd (8)