log.cpp 1.2 KB

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