Fortuned's Logging Utilities void open_log(const char* prog_name) { openlog(prog_name ? prog_name : "(unknown)", LOG_PERROR | LOG_PID, LOG_DAEMON); } void close_log(void) { closelog(); } void _log(char *func, char *file, int line, char *format, ...) { va_list ap; char buf[256], string[256]; va_start(ap, format); vsnprintf(buf, sizeof(buf), format, ap); snprintf(string, sizeof(string), "%s[%s:%s:%d]: %s", "log", func, file, line, buf); va_end(ap) syslog(LOG_NOTICE, "%s", string); }