Logger.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "Logger.h"
  2. #include <stdio.h>
  3. #include <stdarg.h>
  4. #include <time.h>
  5. using namespace WalrusRPG;
  6. namespace
  7. {
  8. void print_premessage(const char *type)
  9. {
  10. char date_buffer[256];
  11. time_t now = time(0);
  12. strftime(date_buffer, 256, "%Y-%m-%d %H:%M:%S", localtime(&now));
  13. printf("%s %5s : ", date_buffer, type);
  14. }
  15. }
  16. void Logger::log(const char *fmt, ...)
  17. {
  18. print_premessage(" [LOG]");
  19. va_list args;
  20. va_start(args, fmt);
  21. vprintf(fmt, args);
  22. va_end(args);
  23. puts("");
  24. }
  25. void Logger::debug(const char *fmt, ...)
  26. {
  27. print_premessage("[DEBUG]");
  28. va_list args;
  29. va_start(args, fmt);
  30. vprintf(fmt, args);
  31. va_end(args);
  32. puts("");
  33. }
  34. void Logger::warn(const char *fmt, ...)
  35. {
  36. print_premessage(" [WARN]");
  37. va_list args;
  38. va_start(args, fmt);
  39. vprintf(fmt, args);
  40. va_end(args);
  41. puts("");
  42. }
  43. void Logger::error(const char *fmt, ...)
  44. {
  45. print_premessage("[ERROR]");
  46. va_list args;
  47. va_start(args, fmt);
  48. vprintf(fmt, args);
  49. va_end(args);
  50. puts("");
  51. }