So I have a daemon running on a Linux system, and I want to have a record of its activities: a log. The question is, what is the ‘best’ way to accomplish this?
My first idea is to simply open a file and write to it.
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);
Is there anything inherently wrong with logging this way? Is there a better way, such as some framework built into Linux?
Unix has had for a long while a special logging framework called syslog. Type in your shell
and you’ll get the help for the C interface to it.
Some examples