log.h 1.1 KB

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