diff options
Diffstat (limited to 'src/log.c')
| -rw-r--r-- | src/log.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/log.c b/src/log.c new file mode 100644 index 0000000..f4c529f --- /dev/null +++ b/src/log.c @@ -0,0 +1,26 @@ +#include <glib.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; + + if (message_level <= G_LOG_LEVEL_WARNING) + g_printerr("%s\n", message); + else + g_print("%s\n", message); +} + +void log_init(GLogLevelFlags level) +{ + g_log_set_default_handler(log_handler, (void *)level); +} + +// vim: ts=4 sw=4 et |
