From 2f0baf3e02610d4d0f4ab07097a07cab758fee68 Mon Sep 17 00:00:00 2001 From: WSAL Evan Date: Tue, 30 Sep 2025 11:55:21 -0400 Subject: [PATCH] Logger --- CMakeLists.txt | 15 +++++++++++++-- include/core/Logger.h | 35 +++++++++++++++++++++++++++++++++++ include/core/Test.h | 4 ---- include/core/core.h | 3 +++ src/Test.cpp | 11 ----------- src/temp.cpp | 0 6 files changed, 51 insertions(+), 17 deletions(-) create mode 100644 include/core/Logger.h delete mode 100644 include/core/Test.h create mode 100644 include/core/core.h delete mode 100644 src/Test.cpp create mode 100644 src/temp.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 0174295..8bcc252 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_library(WVCore STATIC - src/Test.cpp + src/temp.cpp ) target_include_directories(WVCore PUBLIC @@ -13,4 +13,15 @@ target_include_directories(WVCore PUBLIC $ ) -target_compile_features(WVCore PUBLIC cxx_std_20) \ No newline at end of file +target_compile_features(WVCore PUBLIC cxx_std_20) + +# Add platform-specific preprocessor definitions +if(WIN32) + target_compile_definitions(WVCore PUBLIC PLATFORM_WINDOWS) +elseif(APPLE) + target_compile_definitions(WVCore PUBLIC PLATFORM_MACOS) +elseif(UNIX) + target_compile_definitions(WVCore PUBLIC PLATFORM_LINUX) +else() + message(FATAL_ERROR "Unknown platform!") +endif() diff --git a/include/core/Logger.h b/include/core/Logger.h new file mode 100644 index 0000000..ebe84f7 --- /dev/null +++ b/include/core/Logger.h @@ -0,0 +1,35 @@ +#pragma once + +#include +#include + +#define LOG_COLOR_RESET "\x1b[0m" +#define LOG_COLOR_APP_WARN "\x1b[93m" +#define LOG_COLOR_APP_ERROR "\x1b[91m" +#define LOG_COLOR_ENGINE_LOG "\x1b[32m" +#define LOG_COLOR_ENGINE_WARN "\x1b[33m" +#define LOG_COLOR_ENGINE_ERROR "\x1b[41m" + +namespace WillowVox +{ + class Logger + { + public: + template + static void Log(const char* message, Args... args) + { + std::time_t t = std::time(nullptr); + std::tm now; + + #ifdef _WIN32 + localtime_s(&now, &t); + #else + localtime_r(&t, &now); + #endif + + printf(LOG_COLOR_RESET "[%02d:%02d:%02d] ", now.tm_hour, now.tm_min, now.tm_sec); + printf(message, args...); + printf(LOG_COLOR_RESET "\n"); + } + }; +} \ No newline at end of file diff --git a/include/core/Test.h b/include/core/Test.h deleted file mode 100644 index be72f5a..0000000 --- a/include/core/Test.h +++ /dev/null @@ -1,4 +0,0 @@ -namespace WillowVox::Core -{ - void Test(); -} \ No newline at end of file diff --git a/include/core/core.h b/include/core/core.h new file mode 100644 index 0000000..4c617a7 --- /dev/null +++ b/include/core/core.h @@ -0,0 +1,3 @@ +#pragma once + +#include \ No newline at end of file diff --git a/src/Test.cpp b/src/Test.cpp deleted file mode 100644 index 1cb379f..0000000 --- a/src/Test.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include - -#include - -namespace WillowVox::Core -{ - void Test() - { - std::cout << "Running Core Update Test..." << std::endl; - } -} \ No newline at end of file diff --git a/src/temp.cpp b/src/temp.cpp new file mode 100644 index 0000000..e69de29