La función syslog envía un mensaje de registro para el servicio de registro. Esto es útil cuando queremos crean un registro con los acontecimientos que van sucediendo en el código y deseamos guardarlos en el log del sistema.
Ejemplo para guardar un mensaje con log:
#include <syslog.h>
#include <stdio.h>
#include <stdlib.h>
int main(){
openlog("slog", LOG_PID|LOG_CONS, LOG_USER);
syslog(LOG_INFO, "Una forma distinta de Hola Mundo ... ");
closelog();
return 0;
}
openlog con “slog” crea un identificador que ira antes del mensaje “Una forma distinta de Hola Mundo … “. Esto no es necesario si no se desea imprimir este identificador. Por su parte closelog cerrara el openlog.
La salida sera asi:
Nov 23 22:40:38 leonardo-pc slog[3902]: Una forma distinta de Hola Mundo ...
Aquí podemos notar que se imprime el identificador slog junto al PID correspondiente al proceso que lo ejecuto.
Ejemplo de error con syslog:
#include <syslog.h>
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fichero;
fichero = fopen("no_existe","r");
if(!fichero)
syslog(LOG_ERR|LOG_USER,"Error - %m\n");
return 0;
}
En este ejemplo se ve que no es necesario utilizar tanto el openlog como el closelog. %m mostrara el error especifico que se produjo.
La salida sera asi:
Nov 23 22:43:21 leonardo-pc ejemplo: Error - No such file or directory
Podemos notar que como no utilizamos openlog muestra solo el nombre del programa que ejecuto el código, aquí se llama ejemplo


Comentarios recientes