1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302
|
.\" 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 <karlheg@debian.org>
.\"
.\" Updated 13 Oct 2001, Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\" 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 <joey@infodrom.org>
.\" Modified 3 Jan 2002, Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\"
.\" Translated into Spanish Thu Mar 12 12:24:57 CET 1998 by Gerardo
.\" Aburruzaga García <gerardo.aburruzaga@uca.es>
.\" Traducción revisada por Miguel Pérez Ibars <mpi79470@alu.um.es> 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 <syslog.h>
.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 <stdarg.h>
.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 <varargs.h>
, que no es compatible con
.IR <stdarg.h> .
.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)
|