log.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. {
  31. about_to_exit=1;
  32. }
  33. }
  34. void log_bare(int level,const char* str, ...)
  35. {
  36. if(level>log_level) return ;
  37. if(level>log_trace||level<0) return ;
  38. if(enable_log_color)
  39. printf("%s",log_color[level]);
  40. va_list vlist;
  41. va_start(vlist, str);
  42. vfprintf(stdout, str, vlist);
  43. va_end(vlist);
  44. if(enable_log_color)
  45. printf("%s",RESET);
  46. fflush(stdout);
  47. }