#include #include #include #include #include #define LOG_NONE 0x0 #define LOG_DEBUG 0x1 #define LOG_INFO 0x2 int global_log_level=0; /* [INFO] msg ... */ /* [DEBUG] msg ... */ void mylog(int log_level, const char *format,...) { /* Variadic argument in C : */ /* https://www.cprogramming.com/tutorial/c/lesson17.html */ va_list argList; va_start(argList,format); if (global_log_level & log_level) { switch(log_level ) { case LOG_INFO: fprintf(stderr,"[INFO] "); break; case LOG_DEBUG: fprintf(stderr,"[DEBUG] "); break; default: break; } vfprintf(stderr,format,argList); } va_end(argList); }