#include "InferenceLogger.h" #include "LoggerConstants.h" #include "spdlog/sinks/stdout_color_sinks.h" using std::shared_ptr; using std::mutex; using std::unique_lock; using std::make_shared; using std::vector; using dynasty::log::InferenceLogger; shared_ptr InferenceLogger::logger_instance_ = nullptr; mutex InferenceLogger::mutex_; shared_ptr InferenceLogger::GetLogger() { if (!logger_instance_) { unique_lock lock(mutex_); if (!logger_instance_) { vector sinks; sinks.push_back( make_shared()); auto temp = make_shared("InferenceLogger", begin(sinks), end(sinks)); temp->set_pattern(logger_constants::LOGGER_PATTERN); temp->set_level((spdlog::level::level_enum)(SPDLOG_ACTIVE_LEVEL)); logger_instance_ = temp; // SPDLOG_LOGGER_DEBUG(logger_instance_, "Initialized the logger!"); } } return logger_instance_; } void InferenceLogger::SetLogLevel(spdlog::level::level_enum llevel) { auto logger = GetLogger(); logger->set_level(llevel); }