diff options
| author | 2026-01-16 16:54:39 -0600 | |
|---|---|---|
| committer | 2026-01-16 16:54:39 -0600 | |
| commit | 0566f0804b7e48a1070d0d3a5d0f6817b4003a05 (patch) | |
| tree | 4a24ec6f813cde96295b981ba3f6e44a6c40b8c7 /include/log.h | |
| parent | download jobs (diff) | |
move include directory
Diffstat (limited to 'include/log.h')
| -rw-r--r-- | include/log.h | 59 |
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 |
