light/modules/engine/src/debug/logger.cpp

55 lines
1.6 KiB
C++
Raw Normal View History

2025-07-05 13:28:41 +03:30
#include <engine/debug/logger.hpp>
#include <spdlog/sinks/basic_file_sink.h>
2022-03-07 21:57:00 +03:30
#include <spdlog/sinks/stdout_color_sinks.h>
2021-05-21 10:55:39 +04:30
namespace Light {
2025-07-05 13:28:41 +03:30
Logger *Logger::s_Context = nullptr;
2022-03-07 21:57:00 +03:30
Scope<Logger> Logger::Create()
{
return MakeScope<Logger>(new Logger());
}
Logger::Logger()
: m_engine_logger(nullptr)
, m_file_logger(nullptr)
, m_log_file_path(LT_LOG_FILE_LOCATION)
2022-03-07 21:57:00 +03:30
{
ASSERT(!s_Context, "An instance of 'Logger' already exists, do not construct this class!");
s_Context = this;
// set spdlog pattern
// create loggers
spdlog::set_pattern("%^[%H:%M:%S]%g@%! ==> %v%$");
#ifndef LIGHT_DIST
2022-03-07 21:57:00 +03:30
spdlog::set_pattern("%^[%H:%M:%S]%! ==> %v%$");
m_engine_logger = spdlog::stdout_color_mt("Engine");
#endif
2022-03-07 21:57:00 +03:30
m_file_logger = spdlog::basic_logger_mt("File", m_log_file_path);
m_file_logger->set_pattern("%^[%M:%S:%e] <%l>: %v%$");
2022-03-07 21:57:00 +03:30
// set level
#if defined(LIGHT_DEBUG)
m_engine_logger->set_level(spdlog::level::trace);
m_client_logger->set_level(spdlog::level::trace);
2022-03-07 21:57:00 +03:30
#elif defined(LIGHT_RELEASE)
s_EngineLogger->set_level(spdlog::level::info);
s_ClientLogger->set_level(spdlog::level::info);
#endif
2022-03-07 21:57:00 +03:30
}
void Logger::LogDebugData()
{
// #todo: improve
LOG(info, "________________________________________");
LOG(info, "Logger::");
LOG(info, " EngineLevel : {}", Stringifier::spdlogLevel(m_engine_logger->level()));
LOG(info, " FileLevel : {}", Stringifier::spdlogLevel(m_file_logger->level()));
2022-03-07 21:57:00 +03:30
LOG(info, " DefaultLevel: {}", Stringifier::spdlogLevel(spdlog::get_level()));
LOG(info, "________________________________________");
}
} // namespace Light