#include void kf_vlog(char *level, char *fmt, va_list va) { fprintf(stderr, "\x1b[0;1m-> %s\x1b[0;1m:\x1b[0m ", level); vfprintf(stderr, fmt, va); fprintf(stderr, "\n"); } void kf_log(char *level, char *fmt, ...) { va_list va; va_start(va, fmt); kf_vlog(level, fmt, va); va_end(va); } void kf_logdbg(char *fmt, ...) { va_list va; va_start(va, fmt); kf_vlog("\x1b[1;33mdbg", fmt, va); va_end(va); } void kf_loginfo(char *fmt, ...) { va_list va; va_start(va, fmt); kf_vlog("\x1b[1;34minfo", fmt, va); va_end(va); } void kf_logerr(char *fmt, ...) { va_list va; va_start(va, fmt); kf_vlog("\x1b[1;31merr", fmt, va); va_end(va); }