22 #ifndef SIRIUS_UTILS_LOG_H_ 23 #define SIRIUS_UTILS_LOG_H_ 27 #ifdef SIRIUS_ENABLE_LOGS 33 #include <spdlog/spdlog.h> 40 using Logger = spdlog::logger;
41 using LoggerSPtr = std::shared_ptr<Logger>;
44 static LoggerManager& Instance();
46 void SetLogLevel(spdlog::level::level_enum level);
47 Logger* Get(
const std::string& channel);
50 LoggerManager() =
default;
53 std::mutex loggers_mutex_;
54 std::map<std::string, LoggerSPtr> loggers_;
55 spdlog::level::level_enum log_level_{spdlog::level::info};
61 #define LOG_SET_LEVEL_ENUM(lvl_enum) \ 62 sirius::utils::LoggerManager::Instance().SetLogLevel(lvl_enum) 63 #define LOG_SET_LEVEL(lvl) LOG_SET_LEVEL_ENUM(spdlog::level::lvl) 64 #define LOG(channel, level, ...) \ 65 sirius::utils::LoggerManager::Instance().Get(channel)->level(__VA_ARGS__) 69 #define LOG_SET_LEVEL_ENUM(lvl_enum) 70 #define LOG_SET_LEVEL(lvl) 71 #define LOG(channel, level, ...) 73 #endif // SIRIUS_ENABLE_LOGS 87 #endif // SIRIUS_UTILS_LOG_H_ Definition: exception.h:27
void SetVerbosityLevel(const std::string &level)
Set verbosity level from string.