From 4c8d764d171ec77ff626cec273c44ec7e7a995fc Mon Sep 17 00:00:00 2001 From: frosty Date: Wed, 16 Sep 2026 16:32:06 -0400 Subject: init: init --- src/Logger/Logger.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/Logger/Logger.h (limited to 'src/Logger/Logger.h') diff --git a/src/Logger/Logger.h b/src/Logger/Logger.h new file mode 100644 index 0000000..f0bef12 --- /dev/null +++ b/src/Logger/Logger.h @@ -0,0 +1,31 @@ +#ifndef YAPSSG_LOGGER_H +#define YAPSSG_LOGGER_H + +#if defined(__GNUC__) || defined(__clang__) +#define YAPSSG_FORMAT_PRINTF(format_index, arguments_index) \ + __attribute__((format(printf, format_index, arguments_index))) +#else +#define YAPSSG_FORMAT_PRINTF(format_index, arguments_index) +#endif + +typedef enum { + LOG_LEVEL_SILENT = -1, + LOG_LEVEL_ERROR, + LOG_LEVEL_WARNING, + LOG_LEVEL_INFO, + LOG_LEVEL_DEBUG +} LogLevel; + +void logger_set_level(LogLevel level); +LogLevel logger_get_level(void); +int logger_is_enabled(LogLevel level); +int logger_parse_level(const char *name, LogLevel *level); + +void logger_log(LogLevel level, const char *format, ...) + YAPSSG_FORMAT_PRINTF(2, 3); +void logger_error(const char *format, ...) YAPSSG_FORMAT_PRINTF(1, 2); +void logger_warning(const char *format, ...) YAPSSG_FORMAT_PRINTF(1, 2); +void logger_info(const char *format, ...) YAPSSG_FORMAT_PRINTF(1, 2); +void logger_debug(const char *format, ...) YAPSSG_FORMAT_PRINTF(1, 2); + +#endif -- cgit v1.3