From 3efa3023c2df4b44e87099c230b71c9842520ac0 Mon Sep 17 00:00:00 2001 From: Bailey Chittle Date: Thu, 22 Dec 2022 12:19:24 -0500 Subject: [PATCH] multiple kv pairs can be passed via initializer list --- example/example.cpp | 2 +- include/spdlog/logger.h | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/example/example.cpp b/example/example.cpp index a6f87678..4df2b4cd 100644 --- a/example/example.cpp +++ b/example/example.cpp @@ -404,5 +404,5 @@ void attribute_example() { std::string logfmt_pattern = "time=%Y-%m-%dT%H:%M:%S.%f%z, name=%n, level=%^%l%$, process=%P, thread=%t, message=\"%v\""; logfmt_logger->set_pattern(logfmt_pattern); - logfmt_logger->log(spdlog::level::info, "logfmt structured logging", {"key", "value"}); + logfmt_logger->log(spdlog::level::info, "logfmt structured logging", {{"key1", "value1"}, {"key2", "value2"}}); } \ No newline at end of file diff --git a/include/spdlog/logger.h b/include/spdlog/logger.h index e6b47c28..74756303 100644 --- a/include/spdlog/logger.h +++ b/include/spdlog/logger.h @@ -85,9 +85,9 @@ public: void swap(spdlog::logger &other) SPDLOG_NOEXCEPT; template - void log(level::level_enum lvl, const T &msg, details::attr attr) + void log(level::level_enum lvl, const T &msg, std::initializer_list attrs) { - log(source_loc{}, lvl, msg, attr); + log(source_loc{}, lvl, msg, attrs); } template @@ -128,7 +128,7 @@ public: log_it_(log_msg, log_enabled, traceback_enabled); } - void log(source_loc loc, level::level_enum lvl, string_view_t msg, details::attr attr) + void log(source_loc loc, level::level_enum lvl, string_view_t msg, std::initializer_list attrs) { bool log_enabled = should_log(lvl); bool traceback_enabled = tracer_.enabled(); @@ -138,7 +138,8 @@ public: } details::log_msg log_msg(loc, name_, lvl, msg); - log_msg.attributes.push_back(std::move(attr)); + // log_msg.attributes.push_back(attrs); + log_msg.attributes.insert(log_msg.attributes.end(), attrs.begin(), attrs.end()); log_it_(log_msg, log_enabled, traceback_enabled); } void log(source_loc loc, level::level_enum lvl, string_view_t msg)