logger.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef __LOGGER_H__
  2. #define __LOGGER_H__
  3. #include <spdlog/spdlog.h>
  4. // #define LOG_TRACE(...) spdlog::default_logger()->trace(__VA_ARGS__)
  5. // #define LOG_DEBUG(...) spdlog::default_logger()->debug(__VA_ARGS__)
  6. // #define LOG_INFO(...) spdlog::default_logger()->info(__VA_ARGS__)
  7. // #define LOG_WARN(...) spdlog::default_logger()->warn(__VA_ARGS__)
  8. // #define LOG_ERROR(...) spdlog::default_logger()->error(__VA_ARGS__)
  9. // #define LOG_CRITICAL(...) spdlog::default_logger()->critical(__VA_ARGS__)
  10. #define LOG_TRACE(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::trace, __VA_ARGS__)
  11. #define LOG_DEBUG(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::debug, __VA_ARGS__)
  12. #define LOG_INFO(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::info, __VA_ARGS__)
  13. #define LOG_ERROR(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::err, __VA_ARGS__)
  14. #define LOG_WARN(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::warn, __VA_ARGS__)
  15. #define LOG_CRITICAL(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::critical, __VA_ARGS__)
  16. class Logger
  17. {
  18. public:
  19. enum LOG_LEVEL : int {
  20. TRACE = SPDLOG_LEVEL_TRACE,
  21. DEBUG = SPDLOG_LEVEL_DEBUG,
  22. INFO = SPDLOG_LEVEL_INFO,
  23. WARN = SPDLOG_LEVEL_WARN,
  24. ERR = SPDLOG_LEVEL_ERROR,
  25. CRITICAL = SPDLOG_LEVEL_CRITICAL,
  26. OFF = SPDLOG_LEVEL_OFF,
  27. N_LEVELS
  28. };
  29. Logger();
  30. ~Logger();
  31. static void setup(LOG_LEVEL level, const char *path);
  32. };
  33. #endif // LOGGER_H