From 4ecb33a50e05bb7302b7f8bface6a0a8af6b2e6f Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Fri, 17 Nov 2023 21:45:01 +0100 Subject: Move away from glib logging --- src/log.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'src/log.c') diff --git a/src/log.c b/src/log.c index f4c529f..f22895a 100644 --- a/src/log.c +++ b/src/log.c @@ -1,26 +1,24 @@ -#include +#include +#include #include "log.h" -static void log_handler(const char *log_domain, - GLogLevelFlags level, - const char *message, - gpointer log_level) -{ - GLogLevelFlags message_level = level & G_LOG_LEVEL_MASK; - - if ((GLogLevelFlags)log_level < message_level) - return; +// I know... It is what it is... +static LogLevel global_level; - if (message_level <= G_LOG_LEVEL_WARNING) - g_printerr("%s\n", message); - else - g_print("%s\n", message); +void log_init(LogLevel level) +{ + global_level = level; } -void log_init(GLogLevelFlags level) +void log_generic(LogLevel level, const char *format, ...) { - g_log_set_default_handler(log_handler, (void *)level); + if (level < global_level) return; + + va_list args; + va_start(args, format); + vfprintf(level >= LOG_WARN ? stderr : stdout, format, args); + va_end(args); } // vim: ts=4 sw=4 et -- cgit v1.2.3