From c37bd3e34f5840773949bb55848cda3af6688d20 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Wed, 5 Mar 2025 23:44:56 +0800 Subject: refactor: logging system --- src/log.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/log.cpp (limited to 'src/log.cpp') diff --git a/src/log.cpp b/src/log.cpp new file mode 100644 index 0000000..8cd3ded --- /dev/null +++ b/src/log.cpp @@ -0,0 +1,26 @@ +#include "log.hpp" + +void log(eLogLevel level, std::string str) { + // Use CFormatter for the prefix part + std::string prefixed; + switch (level) { + case INFO: + prefixed = CFormatter::fmt(eFormatType::STANDARD, "{}", str); + str = useColors ? "\033[1;32m" + prefixed + "\033[0m" : prefixed; // green + break; + case WARN: + prefixed = CFormatter::fmt(eFormatType::SYSTEM, "{}", str); + str = useColors ? "\033[1;33m" + prefixed + "\033[0m" : prefixed; // yellow + break; + case ERROR: + prefixed = CFormatter::fmt(eFormatType::ERROR, "{}", str); + str = useColors ? "\033[1;31m" + prefixed + "\033[0m" : prefixed; // red + break; + case FATAL: + prefixed = CFormatter::fmt(eFormatType::ERROR, "{}", str); + str = useColors ? "\033[1;35m" + prefixed + "\033[0m" : prefixed; // magenta + break; + } + + std::println("{}", str); // Changed to print since we're managing the newline ourselves +} -- cgit v1.2.3