summaryrefslogtreecommitdiffstats
path: root/include/log.h
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <bigfoot@figboot.dev>2026-01-16 16:54:39 -0600
committerLibravatar bigfoot547 <bigfoot@figboot.dev>2026-01-16 16:54:39 -0600
commit0566f0804b7e48a1070d0d3a5d0f6817b4003a05 (patch)
tree4a24ec6f813cde96295b981ba3f6e44a6c40b8c7 /include/log.h
parentdownload jobs (diff)
move include directory
Diffstat (limited to 'include/log.h')
-rw-r--r--include/log.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/include/log.h b/include/log.h
new file mode 100644
index 0000000..1483559
--- /dev/null
+++ b/include/log.h
@@ -0,0 +1,59 @@
+#ifndef VL_LOG_H_INCLUDED
+#define VL_LOG_H_INCLUDED
+
+#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
+
+/* Log functions MUST leave errno untouched */
+
+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__)
+
+#endif