#pragma once #include "backend.h" #include "defs.h" #define LOG_ONCE(msg, level) \ do { \ static bool logged = false; \ if (!logged) { \ logger_log(msg, level); \ logged = true; \ } \ } while (0) typedef enum { INFO, DEBUG, WARNING, ERROR, } LOG_LEVEL; void logger_log(const char *msg, LOG_LEVEL level);