diff options
| author | frosty <gabriel@bwaaa.monster> | 2026-09-16 16:32:06 -0400 |
|---|---|---|
| committer | frosty <gabriel@bwaaa.monster> | 2026-09-16 16:32:06 -0400 |
| commit | 4c8d764d171ec77ff626cec273c44ec7e7a995fc (patch) | |
| tree | dc36193e611ece53c8f7e74d1dea71f8d9e7004e /src/Logger/Logger.h | |
| download | yapssg-4c8d764d171ec77ff626cec273c44ec7e7a995fc.tar.gz | |
Diffstat (limited to 'src/Logger/Logger.h')
| -rw-r--r-- | src/Logger/Logger.h | 31 |
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 |
