#ifndef LOGGING_H
#define LOGGING_H

#include <stdio.h>

#define RESET       "\033[0m"
#define RED         "\033[31m"
#define YELLOW      "\033[33m"
#define BLUE        "\033[34m"
#define BOLD_RED    "\033[1m\033[31m"
#define BOLD_YELLOW "\033[1m\033[33m"
#define BOLD_BLUE   "\033[1m\033[34m"

#define LOG_INFO(fmt, ...) \
    do { \
        printf(BOLD_BLUE "[*] INFO: " fmt RESET "\n", ##__VA_ARGS__); \
    } while (0)
#define LOG_WARN(fmt, ...) \
    do { \
        fprintf(stderr, BOLD_YELLOW "[!] WARN: " fmt RESET "\n", ##__VA_ARGS__); \
    } while (0)
#define LOG_CRIT(fmt, ...) \
    do { \
        fprintf(stderr, BOLD_RED "[X] CRIT: " fmt RESET "\n", ##__VA_ARGS__); \
    } while (0)

#endif // LOGGING_H
