Scroll to navigation

syslog(3) Library Functions Manual syslog(3)

NOMBRE

closelog, openlog, syslog, vsyslog - envían mensajes a la bitácora (log) del sistema

BIBLIOTECA

Biblioteca Estándar C (libc, -lc)

SINOPSIS

#include <syslog.h>
void openlog(const char *ident, int opción, int facilidad);
void syslog(int prioridad, const char *formato, ...);
void closelog(void);
void vsyslog(int prioridad, const char *formato, va_list ap);

Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

vsyslog():


A partir de glibc 2.19:
_DEFAULT_SOURCE
glibc 2.19 y anteriores:
_BSD_SOURCE

DESCRIPCIÓN

openlog()

openlog() abre una conexión para una determinada aplicación a la bitácora del equipo.

The string pointed to by ident is prepended to every message, and is typically set to the program name. If ident is NULL, the program name is used. (POSIX.1-2008 does not specify the behavior when ident is NULL.)

The option argument specifies flags which control the operation of openlog() and subsequent calls to syslog(). The facility argument establishes a default to be used if none is specified in subsequent calls to syslog(). The values that may be specified for option and facility are described below.

The use of openlog() is optional; it will automatically be called by syslog() if necessary, in which case ident will default to NULL.

syslog() y vsyslog()

syslog() generates a log message, which will be distributed by syslogd(8).

The priority argument is formed by ORing together a facility value and a level value (described below). If no facility value is ORed into priority, then the default value set by openlog() is used, or, if there was no preceding openlog() call, a default of LOG_USER is employed.

The remaining arguments are a format, as in printf(3), and any arguments required by the format, except that the two-character sequence %m will be replaced by the error message string strerror(errno). The format string need not include a terminating newline character.

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.

closelog()

closelog() cierra el descriptor de archivo que se esté usando para escribir en el la bitácora del sistema. El empleo de closelog() es opcional.

Valores para option

The option argument to openlog() is a bit mask constructed by ORing together any of the following values:

Escribe directamente en la consola del sistema si hay un error mientras se está enviando algo al registrador del sistema.
Open the connection immediately (normally, the connection is opened when the first message is logged). This may be useful, for example, if a subsequent chroot(2) would make the pathname used internally by the logging facility unreachable.
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.)
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.)
(Not in POSIX.1-2001 or POSIX.1-2008.) Also log the message to stderr.
Incluye el PID del invocante con cada mensaje.

Values for 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.

mensajes de seguridad o autorización
mensajes de seguridad o autorización (privado)
el demonio del reloj (cron y at)
demonios del sistema con valor de `facility' separado
demonio de ftp
kernel messages (these can't be generated from user processes)
reservados para uso local
subsistema de impresora de línea (de impresión)
subsistema de correo
subsistema de tablón de anuncios USENET News
mensajes generados internamente por syslogd(8)
mensajes genéricos del nivel de usuario
subsistema de UUCP

Values for level

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

el sistema está inutilizable
debe tomarse una acción correctora inmediatamente
condiciones críticas
condiciones de error
condiciones de advertencia
condición normal, pero significativa
mensaje informativo
mensaje del nivel de depuración

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

ATRIBUTOS

Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

Interfaz Atributo Valor
openlog(), closelog() Seguridad del hilo Multi-hilo seguro
syslog(), vsyslog() Seguridad del hilo MT-Safe env locale

ESTÁNDARES

Las funciones openlog(), closelog() y syslog() (pero no vsyslog()) están especificadas en SUSv2, POSIX.1-2001 y POSIX.1-2008.

POSIX.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.1-2001 o POSIX.1-2008, pero está disponible en la mayoría de versiones de Unix.

NOTAS

The argument ident in the call of openlog() is probably stored as-is. Thus, if the string it points to is changed, syslog() may start prepending the changed string, and if the string it points to ceases to exist, the results are undefined. Most portable is to use a string constant.

Never pass a string with user-supplied data as a format, use the following instead:


syslog(priority, "%s", string);

VÉASE TAMBIÉN

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

TRADUCCIÓN

La traducción al español de esta página del manual fue creada por Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es>, Miguel Pérez Ibars <mpi79470@alu.um.es> y Marcos Fouces <marcos@debian.org>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.

5 Febrero 2023 Páginas de manual de Linux 6.03