#include "fpga_global.h" #include #include #include static int current_log_level = 100; static const char *ll_string[] = { "\x1B[31m\x1B[1m[X] ", "\x1B[31m[E] ", "\x1B[33m[W] ", "\x1B[32m[I] ", "\x1B[34m[D] ", "[?] " }; enum log_level report(enum log_level log_level, const char *format, ...) { va_list vargs; if (log_level > LL_COUNT) log_level = LL_COUNT; if (log_level <= current_log_level) { va_start(vargs, format); fprintf(stderr, "%s", ll_string[log_level]); vfprintf(stderr, format, vargs); fprintf(stderr, "\x1B[0m\n"); va_end(vargs); } return log_level; } void set_log_level(enum log_level log_level) { current_log_level = log_level; }