log.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "log.h"
  2. #include "misc.h"
  3. int log_level = log_info;
  4. int enable_log_position = 0;
  5. int enable_log_color = 1;
  6. void log0(const char* file, const char* function, int line, int level, const char* str, ...) {
  7. if (level > log_level) return;
  8. if (level > log_trace || level < 0) return;
  9. time_t timer;
  10. char buffer[100];
  11. struct tm* tm_info;
  12. time(&timer);
  13. tm_info = localtime(&timer);
  14. if (enable_log_color)
  15. printf("%s", log_color[level]);
  16. strftime(buffer, 100, "%Y-%m-%d %H:%M:%S", tm_info);
  17. printf("[%s][%s]", buffer, log_text[level]);
  18. if (enable_log_position) printf("[%s,func:%s,line:%d]", file, function, line);
  19. va_list vlist;
  20. va_start(vlist, str);
  21. vfprintf(stdout, str, vlist);
  22. va_end(vlist);
  23. if (enable_log_color)
  24. printf("%s", RESET);
  25. // printf("\n");
  26. // if(enable_log_color)
  27. // printf(log_color[level]);
  28. fflush(stdout);
  29. if (log_level == log_fatal) {
  30. about_to_exit = 1;
  31. }
  32. }
  33. void log_bare(int level, const char* str, ...) {
  34. if (level > log_level) return;
  35. if (level > log_trace || level < 0) return;
  36. if (enable_log_color)
  37. printf("%s", log_color[level]);
  38. va_list vlist;
  39. va_start(vlist, str);
  40. vfprintf(stdout, str, vlist);
  41. va_end(vlist);
  42. if (enable_log_color)
  43. printf("%s", RESET);
  44. fflush(stdout);
  45. }