Mercurial > paster
diff log.c @ 21:21c103c33ac9
pasterd: improve verbosity, closes #2472
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 06 Feb 2020 20:10:00 +0100 |
parents | 15a06aa20298 |
children | 6702a87420d1 |
line wrap: on
line diff
--- a/log.c Thu Feb 06 16:08:26 2020 +0100 +++ b/log.c Thu Feb 06 20:10:00 2020 +0100 @@ -20,6 +20,7 @@ #include <stdio.h> #include <syslog.h> +#include "config.h" #include "log.h" static int syslog_levels[] = { @@ -31,27 +32,30 @@ void log_open(void) { - openlog("paster", 0, LOG_USER); + if (config.verbosity > 0) + openlog("paster", 0, LOG_USER); } void -log_write(enum log_level level,const char *fmt, ...) +log_write(enum log_level level, const char *fmt, ...) { + assert(level >= 0 && level <= LOG_LEVEL_WARNING); assert(fmt); - assert(level >= 0 && level <= LOG_LEVEL_WARNING); - va_list ap; + if (config.verbosity >= level) { + va_list ap; - va_start(ap, fmt); - log_vwrite(level, fmt, ap); - va_end(ap); + va_start(ap, fmt); + log_vwrite(level, fmt, ap); + va_end(ap); + } } void log_vwrite(enum log_level level, const char *fmt, va_list ap) { + assert(level > 0 && level <= LOG_LEVEL_DEBUG); assert(fmt); - assert(level >= 0 && level <= LOG_LEVEL_WARNING); char line[BUFSIZ]; @@ -62,5 +66,6 @@ void log_finish(void) { - closelog(); + if (config.verbosity > 0) + closelog(); }