diff --git a/modules/core/inc/tactile/core/debug/log/logger.hpp b/modules/core/inc/tactile/core/debug/log/logger.hpp index a817692851..463d774631 100644 --- a/modules/core/inc/tactile/core/debug/log/logger.hpp +++ b/modules/core/inc/tactile/core/debug/log/logger.hpp @@ -13,12 +13,12 @@ #include "tactile/core/prelude.hpp" #include "tactile/core/type/chrono.hpp" -#define TACTILE_LOG(Level, FmtString, ...) \ - do { \ - auto* tactile_logger = tactile::get_default_logger(); \ - if (tactile_logger && tactile_logger->would_log((Level))) { \ - tactile_logger->log((Level), (FmtString), fmt::make_format_args(__VA_ARGS__)); \ - } \ +#define TACTILE_LOG(Level, FmtString, ...) \ + do { \ + auto* tactile_logger = tactile::get_default_logger(); \ + if (tactile_logger && tactile_logger->would_log((Level))) { \ + tactile_logger->log((Level), (FmtString) __VA_OPT__(, ) __VA_ARGS__); \ + } \ } while (false) #define TACTILE_LOG_TRACE(FmtString, ...) \ @@ -59,7 +59,11 @@ class TACTILE_CORE_API Logger final { * \param fmt_string the format string. * \param args the format arguments. */ - void log(LogLevel level, StringView fmt_string, fmt::format_args args) noexcept; + template + void log(const LogLevel level, const StringView fmt_string, Args&&... args) noexcept + { + _log(level, fmt_string, fmt::make_format_args(args...)); + } /** * \brief Sets the minimum severity of messages that get logged. @@ -125,6 +129,8 @@ class TACTILE_CORE_API Logger final { Vector> mSinks; Maybe mReferenceInstant; + void _log(LogLevel level, StringView fmt_string, fmt::format_args args) noexcept; + [[nodiscard]] auto _to_elapsed_time(SteadyClockInstant instant) const -> Microseconds; }; diff --git a/modules/core/src/tactile/core/debug/log/logger.cpp b/modules/core/src/tactile/core/debug/log/logger.cpp index 1106c2d4e9..72d5bbf4b1 100644 --- a/modules/core/src/tactile/core/debug/log/logger.cpp +++ b/modules/core/src/tactile/core/debug/log/logger.cpp @@ -17,9 +17,9 @@ constinit Logger* gDefaultLogger = nullptr; } // namespace -void Logger::log(const LogLevel level, - const StringView fmt_string, - const fmt::format_args args) noexcept +void Logger::_log(const LogLevel level, + const StringView fmt_string, + const fmt::format_args args) noexcept { try { if (!mSinks.empty() && would_log(level)) { @@ -96,23 +96,12 @@ auto Logger::would_flush(const LogLevel level) const noexcept -> bool auto Logger::get_acronym(const LogLevel level) noexcept -> StringView { switch (level) { - case LogLevel::kTrace: - return "TRC"; - - case LogLevel::kDebug: - return "DBG"; - - case LogLevel::kInfo: - return "INF"; - - case LogLevel::kWarn: - return "WRN"; - - case LogLevel::kError: - return "ERR"; - - case LogLevel::kFatal: - return "FTL"; + case LogLevel::kTrace: return "TRC"; + case LogLevel::kDebug: return "DBG"; + case LogLevel::kInfo: return "INF"; + case LogLevel::kWarn: return "WRN"; + case LogLevel::kError: return "ERR"; + case LogLevel::kFatal: return "FTL"; } return ""; diff --git a/vcpkg.json b/vcpkg.json index 70ed5f8095..a6d32f1a66 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -6,7 +6,7 @@ "maintainers": [ "albin-johansson" ], - "builtin-baseline": "a54b77790d1632394bc16621ef83613dd4480320", + "builtin-baseline": "cd5e746ec203c8c3c61647e0886a8df8c1e78e41", "dependencies": [ "argparse", "boost-stacktrace",