From 29c00f41629aa0bcc22460bfdf77a90099a66bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 12 Nov 2014 18:25:18 -0500 Subject: [PATCH] logger: add vlogger with va_list Change-Id: I4203235cd16eec796ecd020ecfe06e9b8107fc10 --- daemon/src/logger.c | 15 +++++++++------ daemon/src/logger.h | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/daemon/src/logger.c b/daemon/src/logger.c index 95eb81528a..4817f0441f 100644 --- a/daemon/src/logger.c +++ b/daemon/src/logger.c @@ -44,6 +44,15 @@ void logger(const int level, const char* format, ...) return; va_list ap; + va_start(ap, format); + vlogger(level, format, ap); + va_end(ap); +} + +void vlogger(const int level, const char *format, va_list ap) +{ + if (!debugMode && level == LOG_DEBUG) + return; if (consoleLog) { const char *color_prefix = ""; @@ -58,16 +67,10 @@ void logger(const int level, const char* format, ...) } fputs(color_prefix, stderr); - - va_start(ap, format); vfprintf(stderr, format, ap); - va_end(ap); - fputs(END_COLOR"\n", stderr); } else { - va_start(ap, format); vsyslog(level, format, ap); - va_end(ap); } } diff --git a/daemon/src/logger.h b/daemon/src/logger.h index 982fd345b4..4a78abe18f 100644 --- a/daemon/src/logger.h +++ b/daemon/src/logger.h @@ -35,10 +35,13 @@ extern "C" { #endif +#include <stdarg.h> + /** * Print something, coloring it depending on the level */ void logger(const int level, const char *format, ...); +void vlogger(const int level, const char *format, va_list); /** * Allow writing on the console -- GitLab