From 208014d6c9b396f4a4e070180ac63a22090c20d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 9 Feb 2021 20:54:17 +0100 Subject: [PATCH] log: log-level applies to messages logged to stderr too --- log.c | 9 +++++++-- log.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/log.c b/log.c index 24d26ed0..10ba5346 100644 --- a/log.c +++ b/log.c @@ -13,10 +13,11 @@ static bool colorize = false; static bool do_syslog = true; +static enum log_class log_level = LOG_CLASS_INFO; void log_init(enum log_colorize _colorize, bool _do_syslog, - enum log_facility syslog_facility, enum log_class syslog_level) + enum log_facility syslog_facility, enum log_class _log_level) { static const int facility_map[] = { [LOG_FACILITY_USER] = LOG_USER, @@ -32,10 +33,11 @@ log_init(enum log_colorize _colorize, bool _do_syslog, colorize = _colorize == LOG_COLORIZE_NEVER ? false : _colorize == LOG_COLORIZE_ALWAYS ? true : isatty(STDERR_FILENO); do_syslog = _do_syslog; + log_level = _log_level; if (do_syslog) { openlog(NULL, /*LOG_PID*/0, facility_map[syslog_facility]); - setlogmask(LOG_UPTO(level_map[syslog_level])); + setlogmask(LOG_UPTO(level_map[_log_level])); } } @@ -50,6 +52,9 @@ static void _log(enum log_class log_class, const char *module, const char *file, int lineno, const char *fmt, int sys_errno, va_list va) { + if (log_class > log_level) + return; + const char *class = "abcd"; int class_clr = 0; switch (log_class) { diff --git a/log.h b/log.h index 656a8ca0..5baddfcd 100644 --- a/log.h +++ b/log.h @@ -7,7 +7,7 @@ enum log_facility { LOG_FACILITY_USER, LOG_FACILITY_DAEMON }; enum log_class { LOG_CLASS_ERROR, LOG_CLASS_WARNING, LOG_CLASS_INFO, LOG_CLASS_DEBUG }; void log_init(enum log_colorize colorize, bool do_syslog, - enum log_facility syslog_facility, enum log_class syslog_level); + enum log_facility syslog_facility, enum log_class log_level); void log_deinit(void); void log_msg(enum log_class log_class, const char *module,