multiple kv pairs can be passed via initializer list

pull/2595/head
Bailey Chittle 3 years ago
parent 98958cf765
commit 2d79f7a1b3

@ -393,5 +393,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\""; 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->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"}});
} }

@ -85,9 +85,9 @@ public:
void swap(spdlog::logger &other) SPDLOG_NOEXCEPT; void swap(spdlog::logger &other) SPDLOG_NOEXCEPT;
template <typename T> template <typename T>
void log(level::level_enum lvl, const T &msg, details::attr attr) void log(level::level_enum lvl, const T &msg, std::initializer_list<details::attr> attrs)
{ {
log(source_loc{}, lvl, msg, attr); log(source_loc{}, lvl, msg, attrs);
} }
template<typename... Args> template<typename... Args>
@ -128,7 +128,7 @@ public:
log_it_(log_msg, log_enabled, traceback_enabled); 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<details::attr> attrs)
{ {
bool log_enabled = should_log(lvl); bool log_enabled = should_log(lvl);
bool traceback_enabled = tracer_.enabled(); bool traceback_enabled = tracer_.enabled();
@ -138,7 +138,8 @@ public:
} }
details::log_msg log_msg(loc, name_, lvl, msg); 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); log_it_(log_msg, log_enabled, traceback_enabled);
} }
void log(source_loc loc, level::level_enum lvl, string_view_t msg) void log(source_loc loc, level::level_enum lvl, string_view_t msg)

Loading…
Cancel
Save