From 0a8bbe0ac3a45f2ff3975d4de07332b25649ba9f Mon Sep 17 00:00:00 2001 From: steven-na Date: Thu, 13 Aug 2026 14:01:01 -0700 Subject: Simple logging, started on threadpool --- src/log.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/log.h (limited to 'src/log.h') diff --git a/src/log.h b/src/log.h new file mode 100644 index 0000000..eedb182 --- /dev/null +++ b/src/log.h @@ -0,0 +1,35 @@ +// Based on: https://github.com/rxi/log.c/ + +#pragma once + +#include "common.h" + +#include +#include + +typedef void (*log_LockProc)(b32 should_lock); + +typedef enum { + LogLevelTrace = 0, + LogLevelDebug = 1, + LogLevelInfo = 2, + LogLevelWarn = 3, + LogLevelError = 4, + LogLevelFatal = 5, +} LogLevelE; + +#define log_trace(...) log_log(LogLevelTrace, __FILE__, __LINE__, __VA_ARGS__) +#define log_debug(...) log_log(LogLevelDebug, __FILE__, __LINE__, __VA_ARGS__) +#define log_info(...) log_log(LogLevelInfo, __FILE__, __LINE__, __VA_ARGS__) +#define log_warn(...) log_log(LogLevelWarn, __FILE__, __LINE__, __VA_ARGS__) +#define log_error(...) log_log(LogLevelError, __FILE__, __LINE__, __VA_ARGS__) +#define log_fatal(...) log_log(LogLevelFatal, __FILE__, __LINE__, __VA_ARGS__) + +const char *log_get_level(); + +void log_set_level(LogLevelE lvl); +void log_set_quiet(b32 quiet); +void log_set_lock(log_LockProc proc); +void log_set_fp(FILE *log_file); + +void log_log(LogLevelE lvl, const char *src_file, u64 src_line, const char *fmt, ...); -- cgit v1.2.3