From 380195f7cd5e57acf2c1cf2bc41069e6b0b979ed Mon Sep 17 00:00:00 2001 From: Anders Betts Date: Thu, 17 Sep 2026 19:55:36 +0200 Subject: Initial commit: daemon, clients, docs, Docker deploy pipeline --- src/log.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/log.c (limited to 'src/log.c') diff --git a/src/log.c b/src/log.c new file mode 100644 index 0000000..616803f --- /dev/null +++ b/src/log.c @@ -0,0 +1,45 @@ +#include "log.h" + +#include +#include +#include +#include + +#include "util.h" + +static int g_level = LOG_INFO; + +void log_set_level(int level) +{ + g_level = level; +} + +int log_level_from_name(const char *name) +{ + if (!name) + return LOG_INFO; + if (strcmp(name, "error") == 0) + return LOG_ERROR; + if (strcmp(name, "warn") == 0) + return LOG_WARN; + if (strcmp(name, "info") == 0) + return LOG_INFO; + if (strcmp(name, "debug") == 0) + return LOG_DEBUG; + return LOG_INFO; +} + +void log_msg(int level, const char *fmt, ...) +{ + if (level > g_level) + return; + static const char *names[] = { "error", "warn", "info", "debug" }; + char ts[32]; + util_iso8601(util_now(), ts, sizeof ts); + fprintf(stderr, "%s [%s] ", ts, names[level]); + va_list ap; + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + fputc('\n', stderr); +} -- cgit v1.3