36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
#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<spdlog::logger> InferenceLogger::logger_instance_ = nullptr;
|
|
mutex InferenceLogger::mutex_;
|
|
|
|
shared_ptr<spdlog::logger> InferenceLogger::GetLogger() {
|
|
if (!logger_instance_) {
|
|
unique_lock<mutex> lock(mutex_);
|
|
if (!logger_instance_) {
|
|
vector<spdlog::sink_ptr> sinks;
|
|
sinks.push_back(
|
|
make_shared<spdlog::sinks::stdout_color_sink_mt>());
|
|
auto temp = make_shared<spdlog::logger>("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);
|
|
} |