#include "amduat/util/log.h" #include #include static const char *amduat_log_level_label(amduat_log_level_t level) { switch (level) { case AMDUAT_LOG_ERROR: return "ERROR"; case AMDUAT_LOG_WARN: return "WARN"; case AMDUAT_LOG_INFO: return "INFO"; case AMDUAT_LOG_DEBUG: return "DEBUG"; default: return "LOG"; } } static bool amduat_log_debug_enabled(void) { #ifdef AMDUAT_LOG_ENABLE_DEBUG return true; #else return false; #endif } void amduat_log(amduat_log_level_t level, const char *fmt, ...) { va_list ap; if (level == AMDUAT_LOG_DEBUG && !amduat_log_debug_enabled()) { return; } fprintf(stderr, "%s: ", amduat_log_level_label(level)); va_start(ap, fmt); vfprintf(stderr, fmt, ap); va_end(ap); fputc('\n', stderr); }