diff options
Diffstat (limited to 'src/log.c')
| -rw-r--r-- | src/log.c | 30 |
1 files changed, 14 insertions, 16 deletions
@@ -1,26 +1,24 @@ -#include <glib.h> +#include <stdio.h> +#include <stdarg.h> #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 |
