From b5af532c191ed662e073a63cd2f7c11494e68217 Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Sun, 4 Jan 2026 00:41:59 +0000 Subject: [PATCH] feat: Add TraceFunctionWithArgs for enhanced function entry logging with arguments --- src/logging/logger.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/logging/logger.hpp b/src/logging/logger.hpp index 48aa44b..784f564 100644 --- a/src/logging/logger.hpp +++ b/src/logging/logger.hpp @@ -56,6 +56,16 @@ public: } } + template + void TraceFunctionWithArgs(const std::string& funcName, const Args&... args) { + if (GetLevel() <= LogLevel::TRACE) { + std::ostringstream oss; + oss << "Entering " << funcName << " with args: "; + ((oss << args << " "), ...); + Trace(oss.str()); + } + } + private: Logger(); ~Logger(); @@ -82,6 +92,7 @@ private: #define TRACE_FUNCTION() sdl3cpp::logging::Logger::GetInstance().TraceFunction(__func__) #define TRACE_VAR(var) sdl3cpp::logging::Logger::GetInstance().TraceVariable(#var, var) +#define TRACE_FUNCTION_ARGS(...) sdl3cpp::logging::Logger::GetInstance().TraceFunctionWithArgs(__func__, __VA_ARGS__) } // namespace sdl3cpp::logging