diff options
| author | hachem <im@hachem.wtf> | 2026-08-20 03:00:56 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-20 08:13:17 +0200 |
| commit | 9a19ae463880e06bae84eb8ae1b7279595ecdc38 (patch) | |
| tree | a652344ef39837096dc76b0386550870eec3f77e /src/Core/Log.cpp | |
| parent | b0be47e54943bf45babac5bce6c2f6f0dc5cb4dc (diff) | |
[fix]: path for the logo
Diffstat (limited to 'src/Core/Log.cpp')
| -rw-r--r-- | src/Core/Log.cpp | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/src/Core/Log.cpp b/src/Core/Log.cpp deleted file mode 100644 index 5a0434f..0000000 --- a/src/Core/Log.cpp +++ /dev/null @@ -1,156 +0,0 @@ -#include "log.h" - -#include <filesystem> - -#if defined(DONUT_WINDOWS) - #include <windows.h> -#endif - -namespace Donut -{ - Ref<Logger> Logger::s_logger; - - auto Logger::init() -> void - { - s_logger = create_ref<Logger>(); - s_logger->set_log_level(LogLevel::Info); - s_logger->enable_console_output(true); - s_logger->enable_file_output(true); - s_logger->set_log_file("logs/donut.log"); - - s_logger->log_message(LogLevel::Info, "Logging system initialized"); - } - - auto Logger::shutdown() -> void - { - if (s_logger) - s_logger->log_message(LogLevel::Info, "Shutting down logging system"); - s_logger.reset(); - } - - auto Logger::get_logger() -> Ref<Logger> - { - return s_logger; - } - - Logger::Logger() - : m_log_level(LogLevel::Info), - m_console_output(true), - m_file_output(false) { } - - Logger::~Logger() - { - if (m_log_file.is_open()) - m_log_file.close(); - } - - auto Logger::set_log_file(const std::string& filename) -> void - { - std::filesystem::path log_path(filename); - std::filesystem::create_directories(log_path.parent_path()); - - m_log_file.open(filename, std::ios::app); - if (!m_log_file.is_open()) - std::cerr << "Failed to open log file: " << filename << std::endl; - } - - auto Logger::get_time_stamp() -> std::string - { - auto now = std::chrono::system_clock::now(); - auto time = std::chrono::system_clock::to_time_t(now); - - std::stringstream ss; - ss << std::put_time(std::localtime(&time), "%Y-%m-%d %H:%M:%S"); - - return ss.str(); - } - - auto Logger::get_log_level_string(LogLevel level) -> std::string - { - switch (level) - { - case LogLevel::trace: return "TRACE"; - case LogLevel::Info: return "INFO"; - case LogLevel::Warn: return "WARN"; - case LogLevel::Err: return "ERROR"; - case LogLevel::Fatal: return "FATAL"; - default: return "UNKNOWN"; - } - } - - auto Logger::set_console_color(LogLevel level) -> void - { -#if defined(DONUT_WINDOWS) - HANDLE h_console = GetStdHandle(STD_OUTPUT_HANDLE); - WORD color; - - switch (level) { - case LogLevel::trace: - color = FOREGROUND_RED | - FOREGROUND_GREEN | - FOREGROUND_BLUE; - break; - case LogLevel::Info: - color = FOREGROUND_GREEN | - FOREGROUND_INTENSITY; - break; - case LogLevel::Warn: - color = FOREGROUND_RED | - FOREGROUND_GREEN | - FOREGROUND_INTENSITY; - break; - case LogLevel::Err: - color = FOREGROUND_RED | - FOREGROUND_INTENSITY; - break; - case LogLevel::Fatal: - color = FOREGROUND_RED | - FOREGROUND_BLUE | - FOREGROUND_INTENSITY; - break; - default: - color = FOREGROUND_RED | - FOREGROUND_GREEN | - FOREGROUND_BLUE; - break; - } - - SetConsoleTextAttribute(h_console, color); -#else - const char* color_code; - switch (level) { - case LogLevel::trace: - color_code = "\033[37m"; - break; - case LogLevel::Info: - color_code = "\033[32;1m"; - break; - case LogLevel::Warn: - color_code = "\033[33;1m"; - break; - case LogLevel::Err: - color_code = "\033[31;1m"; - break; - case LogLevel::Fatal: - color_code = "\033[35;1m"; - break; - default: - color_code = "\033[37m"; - break; - } - std::cout << color_code; -#endif - } - - auto Logger::reset_console_color() -> void - { -#if defined(DONUT_WINDOWS) - HANDLE h_console = GetStdHandle(STD_OUTPUT_HANDLE); - SetConsoleTextAttribute(h_console, FOREGROUND_RED | - FOREGROUND_GREEN | - FOREGROUND_BLUE); -#else - std::cout << "\033[0m"; -#endif - } -} |
