multiple kv pairs can be passed via initializer list

pull/2687/head
Bailey Chittle 3 years ago
parent ce996563d1
commit 3efa3023c2

@ -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"}});
}

@ -85,9 +85,9 @@ public:
void swap(spdlog::logger &other) SPDLOG_NOEXCEPT;
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>
@ -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<details::attr> 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)

Loading…
Cancel
Save