2025-03-17 18:50:31 +01:00
|
|
|
#include "SpdLogger.hpp"
|
|
|
|
|
|
|
|
|
|
#include <spdlog/common.h>
|
|
|
|
|
#include <spdlog/spdlog.h>
|
|
|
|
|
#include <spdlog/sinks/basic_file_sink.h>
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <string>
|
2025-06-13 22:23:20 +00:00
|
|
|
#include "ILog.hpp"
|
2025-03-17 18:50:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
using namespace pixelarium::utils::log;
|
|
|
|
|
|
|
|
|
|
SpdLogger::SpdLogger(const std::string& file_sink, const std::string& name)
|
2025-06-13 22:23:20 +00:00
|
|
|
: logger_(spdlog::basic_logger_mt(name, file_sink)), file_(file_sink), name_(name)
|
2025-03-17 18:50:31 +01:00
|
|
|
{
|
2025-06-13 22:23:20 +00:00
|
|
|
spdlog::set_default_logger(this->logger_);
|
2025-03-17 18:50:31 +01:00
|
|
|
spdlog::flush_on(spdlog::level::info);
|
2025-06-13 22:23:20 +00:00
|
|
|
logger_->info("Logger initiated");
|
2025-03-17 18:50:31 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SpdLogger::Info(const std::string& msg)
|
|
|
|
|
{
|
2025-06-13 22:23:20 +00:00
|
|
|
this->logger_->info(msg);
|
2025-03-17 18:50:31 +01:00
|
|
|
}
|
|
|
|
|
void SpdLogger::Debug(const std::string& msg)
|
|
|
|
|
{
|
2025-06-13 22:23:20 +00:00
|
|
|
this->logger_->debug(msg);
|
2025-03-17 18:50:31 +01:00
|
|
|
}
|
|
|
|
|
void SpdLogger::Warn(const std::string& msg)
|
|
|
|
|
{
|
2025-06-13 22:23:20 +00:00
|
|
|
this->logger_->warn(msg);
|
2025-03-17 18:50:31 +01:00
|
|
|
}
|
2025-06-13 22:23:20 +00:00
|
|
|
void SpdLogger::Error(const std::string& msg) { this->logger_->error(msg); }
|
|
|
|
|
|
|
|
|
|
void SpdLogger::ChangeLevel(LogLevel lvl)
|
2025-03-17 18:50:31 +01:00
|
|
|
{
|
2025-06-13 22:23:20 +00:00
|
|
|
switch (lvl)
|
|
|
|
|
{
|
|
|
|
|
case LogLevel::Trace:
|
|
|
|
|
this->logger_->set_level(spdlog::level::trace);
|
|
|
|
|
spdlog::flush_on(spdlog::level::trace);
|
|
|
|
|
break;
|
|
|
|
|
case LogLevel::Info:
|
|
|
|
|
this->logger_->set_level(spdlog::level::info);
|
|
|
|
|
spdlog::flush_on(spdlog::level::info);
|
|
|
|
|
break;
|
|
|
|
|
case LogLevel::Warn:
|
|
|
|
|
this->logger_->set_level(spdlog::level::warn);
|
|
|
|
|
spdlog::flush_on(spdlog::level::warn);
|
|
|
|
|
break;
|
|
|
|
|
case LogLevel::Error:
|
|
|
|
|
this->logger_->set_level(spdlog::level::err);
|
|
|
|
|
spdlog::flush_on(spdlog::level::err);
|
|
|
|
|
break;
|
|
|
|
|
case LogLevel::Debug:
|
|
|
|
|
default:
|
|
|
|
|
this->logger_->set_level(spdlog::level::debug);
|
|
|
|
|
spdlog::flush_on(spdlog::level::debug);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this->logger_->debug("Changed log level;");
|
|
|
|
|
}
|