diff options
author | Natanael Copa <natanael.copa@gmail.com> | 2008-10-18 11:52:54 +0200 |
---|---|---|
committer | Natanael Copa <natanael.copa@gmail.com> | 2008-10-18 11:52:54 +0200 |
commit | 88d712478a82cad28ddaefb164d5d2df832bb98b (patch) | |
tree | b351e355064dbaef8087e86db5afa63dde42caaa /log.c | |
download | sntpc-88d712478a82cad28ddaefb164d5d2df832bb98b.tar.bz2 sntpc-88d712478a82cad28ddaefb164d5d2df832bb98b.tar.xz |
initial commit
Diffstat (limited to 'log.c')
-rw-r--r-- | log.c | 72 |
1 files changed, 72 insertions, 0 deletions
@@ -0,0 +1,72 @@ + +#include <errno.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <syslog.h> +#include <unistd.h> + +#include "log.h" + +static int verbose; + +void log_init(int v) +{ + verbose = v; + openlog("sntpd", LOG_PERROR | LOG_PID, LOG_DAEMON); +} + + +void log_error(const char *format, ...) +{ + va_list va; + va_start(va, format); + vsyslog(LOG_ERR, format, va); + va_end(va); +} + + +void log_perror(const char *message) +{ + log_error("%s: %s", message, strerror(errno)); +} + + +void log_warning(const char *format, ...) +{ + va_list va; + va_start(va, format); + vsyslog(LOG_WARNING, format, va); + va_end(va); +} + +void log_critical(const char *format, ...) +{ + va_list va; + va_start(va, format); + vsyslog(LOG_CRIT, format, va); + va_end(va); +} + +void log_debug(const char *format, ...) +{ + if (verbose) { + va_list va; + va_start(va, format); + vsyslog(LOG_DEBUG, format, va); + va_end(va); + } +} + +void fatal(const char *emsg) +{ + if (emsg == NULL) + log_critical("fatal: %s", strerror(errno)); + else + if (errno) + log_critical("fatal: %s: %s", emsg, strerror(errno)); + else + log_critical("fatal: %s", emsg); + exit(1); +} + |