diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/logging.c | 17 | ||||
-rw-r--r-- | common/logging.h | 2 |
2 files changed, 15 insertions, 4 deletions
diff --git a/common/logging.c b/common/logging.c index 123dd809..79d8d362 100644 --- a/common/logging.c +++ b/common/logging.c @@ -31,13 +31,18 @@ static volatile int debug_enabled = 0; +static inline void vinfo(const char *format, va_list ap) +{ + vsyslog(LOG_INFO, format, ap); +} + void info(const char *format, ...) { va_list ap; va_start(ap, format); - vsyslog(LOG_INFO, format, ap); + vinfo(format, ap); va_end(ap); } @@ -82,11 +87,17 @@ void disable_debug(void) debug_enabled = 0; } -void start_logging(const char *ident, const char *message) +void start_logging(const char *ident, const char *message, ...) { + va_list ap; + openlog(ident, LOG_PID | LOG_NDELAY | LOG_PERROR, LOG_DAEMON); - info(message); + va_start(ap, message); + + vinfo(message, ap); + + va_end(ap); } void stop_logging(void) diff --git a/common/logging.h b/common/logging.h index 9ccc349d..c9134425 100644 --- a/common/logging.h +++ b/common/logging.h @@ -30,7 +30,7 @@ void debug(const char *format, ...); void toggle_debug(void); void enable_debug(void); void disable_debug(void); -void start_logging(const char *ident, const char *message); +void start_logging(const char *ident, const char *message, ...); void stop_logging(void); #endif /* __LOGGING_H */ |