Accesso al demone in Linux

Accesso al demone in Linux


Quindi ho un demone in esecuzione su un sistema Linux e voglio avere un record delle sue attività:un log. La domanda è:qual è il modo "migliore" per farlo?


La mia prima idea è semplicemente aprire un file e scriverci sopra.


FILE* log = fopen("logfile.log", "w");
/* daemon works...needs to write to log */
fprintf(log, "foo%s\n", (char*)bar);
/* ...all done, close the file */
fclose(log);

C'è qualcosa di intrinsecamente sbagliato nella registrazione in questo modo? C'è un modo migliore, come un framework integrato in Linux?


Risposte:


Unix dispone da molto tempo di uno speciale framework di registrazione chiamato syslog. Digita la tua shell


man 3 syslog

e riceverai l'aiuto per l'interfaccia C.


Alcuni esempi


#include <stdio.h>
#include <unistd.h>
#include <syslog.h>
int main(void) {
openlog("slog", LOG_PID|LOG_CONS, LOG_USER);
syslog(LOG_INFO, "A different kind of Hello world ... ");
closelog();
return 0;
}