summaryrefslogtreecommitdiffstats
path: root/lib/include/log.h
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <bigfoot@figboot.dev>2026-01-06 03:27:12 -0600
committerLibravatar bigfoot547 <bigfoot@figboot.dev>2026-01-06 03:27:12 -0600
commit4cf8b35097a131abcfc8e0d04d35294be13943ac (patch)
treebb384a58c53d7b4ab9faf45e84677ae5cdb42ac1 /lib/include/log.h
initial commit
Diffstat (limited to 'lib/include/log.h')
-rw-r--r--lib/include/log.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/include/log.h b/lib/include/log.h
new file mode 100644
index 0000000..a8549e0
--- /dev/null
+++ b/lib/include/log.h
@@ -0,0 +1,52 @@
+#include <stdio.h>
+#include <stdarg.h>
+
+#define LOG_TRACE 0u
+#define LOG_DEBUG 1u
+#define LOG_INFO 2u
+#define LOG_WARN 3u
+#define LOG_ERROR 4u
+
+void vl_log_setlevel(unsigned level);
+
+void vl_logv(unsigned level, const char *fmt, va_list args);
+void vl_log(unsigned level, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
+
+#ifndef LOG_MIN_LEVEL
+#define LOG_MIN_LEVEL LOG_TRACE
+#endif
+
+#if LOG_TRACE >= LOG_MIN_LEVEL
+#define LOG_TRACE_ENABLED
+#define vl_trace(...) vl_log(LOG_TRACE, __VA_ARGS__)
+#define vl_tracev(...) vl_logv(LOG_TRACE, __VA_ARGS__)
+#else
+#define vl_trace(...)
+#define vl_tracev(...)
+#endif
+
+#if LOG_DEBUG >= LOG_MIN_LEVEL
+#define LOG_DEBUG_ENABLED
+#define vl_debug(...) vl_log(LOG_DEBUG, __VA_ARGS__)
+#define vl_debugv(...) vl_logv(LOG_DEBUG, __VA_ARGS__)
+#else
+#define vl_debug(...)
+#define vl_debugv(...)
+#endif
+
+#if LOG_INFO >= LOG_MIN_LEVEL
+#define LOG_INFO_ENABLED
+#define vl_info(...) vl_log(LOG_INFO, __VA_ARGS__)
+#define vl_infov(...) vl_logv(LOG_INFO, __VA_ARGS__)
+#else
+#define vl_info(...)
+#define vl_infov(...)
+#endif
+
+#define LOG_WARN_ENABLED
+#define vl_warn(...) vl_log(LOG_WARN, __VA_ARGS__)
+#define vl_warnv(...) vl_logv(LOG_WARN, __VA_ARGS__)
+
+#define LOG_ERROR_ENABLED
+#define vl_error(...) vl_log(LOG_ERROR, __VA_ARGS__)
+#define vl_errorv(...) vl_logv(LOG_ERROR, __VA_ARGS__)