#ifndef UDP2RAW_LOG_MYLOG_H_ #define UDP2RAW_LOG_MYLOG_H_ #include "common.h" using namespace std; #define RED "\x1B[31m" #define GRN "\x1B[32m" #define YEL "\x1B[33m" #define BLU "\x1B[34m" #define MAG "\x1B[35m" #define CYN "\x1B[36m" #define WHT "\x1B[37m" #define RESET "\x1B[0m" const int log_never = 0; const int log_fatal = 1; const int log_error = 2; const int log_warn = 3; const int log_info = 4; const int log_debug = 5; const int log_trace = 6; const int log_end = 7; const char log_text[][20] = {"NEVER", "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE", ""}; const char log_color[][20] = {RED, RED, RED, YEL, GRN, MAG, ""}; extern int log_level; extern int enable_log_position; extern int enable_log_color; #ifdef MY_DEBUG #define mylog(__first_argu__dummy_abcde__, ...) printf(__VA_ARGS__) #else #define mylog(...) log0(__FILE__, __FUNCTION__, __LINE__, __VA_ARGS__) #endif //#define mylog(__first_argu__dummy_abcde__,...) {;} void log0(const char* file, const char* function, int line, int level, const char* str, ...); void log_bare(int level, const char* str, ...); #endif