add logger

This commit is contained in:
Luca Conte 2025-03-06 01:29:56 +01:00
parent 448aec982c
commit 41ed1718ea
2 changed files with 34 additions and 0 deletions

3
src/log.c Normal file
View File

@ -0,0 +1,3 @@
#include "log.h"
unsigned int logLevel = LOG_LEVEL_ERROR;

31
src/log.h Normal file
View File

@ -0,0 +1,31 @@
#ifndef LOG_H
#define LOG_H
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#define LOG_LEVEL_NONE 0
#define LOG_LEVEL_FATAL 1
#define LOG_LEVEL_ERROR 2
#define LOG_LEVEL_WARN 3
#define LOG_LEVEL_INFO 4
#define LOG_LEVEL_DEBUG 5
extern unsigned int logLevel;
// Logging macros
#define FATAL_COL "\x1B[4;31m"
#define ERROR_COL "\x1B[91m"
#define WARN_COL "\x1B[33m"
#define INFO_COL "\x1B[34m"
#define DEBUG_COL "\x1B[90m"
#define NORMAL_COL "\x1B[0m"
#define FATAL(...) if (logLevel >= LOG_LEVEL_FATAL) { printf("| %sFATAL%s | ", FATAL_COL, NORMAL_COL); printf(__VA_ARGS__); }
#define ERROR(...) if (logLevel >= LOG_LEVEL_ERROR) { printf("| %sERROR%s | ", ERROR_COL, NORMAL_COL); printf(__VA_ARGS__); }
#define WARN(...) if (logLevel >= LOG_LEVEL_WARN) { printf("| %sWARN%s | ", WARN_COL, NORMAL_COL); printf(__VA_ARGS__); }
#define INFO(...) if (logLevel >= LOG_LEVEL_INFO) { printf("| %sINFO%s | ", INFO_COL, NORMAL_COL); printf(__VA_ARGS__); }
#define DEBUG(...) if (logLevel >= LOG_LEVEL_DEBUG) { printf("| %sDEBUG%s | ", DEBUG_COL, NORMAL_COL); printf(__VA_ARGS__); }
#endif // LOG_H