| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef __LOGGER_H__
- #define __LOGGER_H__
- #include <spdlog/spdlog.h>
- // #define LOG_TRACE(...) spdlog::default_logger()->trace(__VA_ARGS__)
- // #define LOG_DEBUG(...) spdlog::default_logger()->debug(__VA_ARGS__)
- // #define LOG_INFO(...) spdlog::default_logger()->info(__VA_ARGS__)
- // #define LOG_WARN(...) spdlog::default_logger()->warn(__VA_ARGS__)
- // #define LOG_ERROR(...) spdlog::default_logger()->error(__VA_ARGS__)
- // #define LOG_CRITICAL(...) spdlog::default_logger()->critical(__VA_ARGS__)
- #define LOG_TRACE(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::trace, __VA_ARGS__)
- #define LOG_DEBUG(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::debug, __VA_ARGS__)
- #define LOG_INFO(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::info, __VA_ARGS__)
- #define LOG_ERROR(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::err, __VA_ARGS__)
- #define LOG_WARN(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::warn, __VA_ARGS__)
- #define LOG_CRITICAL(...) SPDLOG_LOGGER_CALL(spdlog::default_logger().get(), spdlog::level::critical, __VA_ARGS__)
- #define CRITICAL_LOG(level, fmt, ...) \
- do { \
- if (auto logger = spdlog::get("critical"); logger) { \
- logger->log(level, fmt, ##__VA_ARGS__); \
- } \
- } while(0)
- class Logger
- {
- public:
- enum LOG_LEVEL : int {
- TRACE = SPDLOG_LEVEL_TRACE,
- DEBUG = SPDLOG_LEVEL_DEBUG,
- INFO = SPDLOG_LEVEL_INFO,
- WARN = SPDLOG_LEVEL_WARN,
- ERR = SPDLOG_LEVEL_ERROR,
- CRITICAL = SPDLOG_LEVEL_CRITICAL,
- OFF = SPDLOG_LEVEL_OFF,
- N_LEVELS
- };
- Logger();
- ~Logger();
- static void setup(LOG_LEVEL level, const char *path);
- };
- #endif // LOGGER_H
|