aboutsummaryrefslogtreecommitdiff
path: root/src/Logger/Logger.h
diff options
context:
space:
mode:
authorfrosty <gabriel@bwaaa.monster>2026-09-16 16:32:06 -0400
committerfrosty <gabriel@bwaaa.monster>2026-09-16 16:32:06 -0400
commit4c8d764d171ec77ff626cec273c44ec7e7a995fc (patch)
treedc36193e611ece53c8f7e74d1dea71f8d9e7004e /src/Logger/Logger.h
downloadyapssg-4c8d764d171ec77ff626cec273c44ec7e7a995fc.tar.gz
init: initHEADmaster
Diffstat (limited to 'src/Logger/Logger.h')
-rw-r--r--src/Logger/Logger.h31
1 files changed, 31 insertions, 0 deletions
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