more endpoints, removed commas from logfmt

pull/2687/head
Bailey Chittle 3 years ago
parent 89d53711a1
commit d03d2be752

@ -394,15 +394,15 @@ void replace_default_logger_example()
}
void attribute_example() {
spdlog::default_logger_raw()->log(spdlog::level::warn, "EXPERIMENTAL: log with attributes", {{"attribute_key", "attribute value"}});
spdlog::default_logger_raw()->warn("EXPERIMENTAL: log with attributes", {{"attribute_key", "attribute value"}});
// logfmt structured logging using attributes
// auto logfmt_logger = spdlog::basic_logger_mt("logfmt_logger", "logs/mylog.txt");
auto logfmt_logger = spdlog::default_logger_raw();
auto logfmt_logger = spdlog::stdout_color_mt("logfmt_logger");
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->log(spdlog::level::info, "logfmt structured logging", spdlog::attribute_list{{"key\n1", "value\n1"}, {"key\r\n2", "value\r\n2"}});
logfmt_logger->info("logfmt structured logging", spdlog::attribute_list{{"key\n1", "value\n1"}, {"key\r\n2", "value\r\n2"}});
}

@ -36,6 +36,8 @@ public:
value = std::string{v.data(), v.size()};
}
attr(std::string k, std::string v) : key{k}, value{v} {}
template <typename T>
attr(string_view_t k, T const &v)
: value{std::to_string(v)}

@ -281,6 +281,44 @@ public:
}
#endif
// attributes endpoint
template<typename T>
void trace(const T &msg, attribute_list attrs)
{
log(level::trace, msg, attrs);
}
template<typename T>
void debug(const T &msg, attribute_list attrs)
{
log(level::debug, msg, attrs);
}
template<typename T>
void info(const T &msg, attribute_list attrs)
{
log(level::info, msg, attrs);
}
template<typename T>
void warn(const T &msg, attribute_list attrs)
{
log(level::warn, msg, attrs);
}
template<typename T>
void error(const T &msg, attribute_list attrs)
{
log(level::err, msg, attrs);
}
template<typename T>
void critical(const T &msg, attribute_list attrs)
{
log(level::critical, msg, attrs);
}
// default endpoint
template<typename T>
void trace(const T &msg)
{

@ -1085,7 +1085,7 @@ SPDLOG_INLINE void pattern_formatter::format(const details::log_msg &msg, memory
details::fmt_helper::append_string_view(a.key, dest);
details::fmt_helper::append_string_view("=\"", dest);
details::fmt_helper::append_string_view(a.value, dest);
details::fmt_helper::append_string_view("\", ", dest);
details::fmt_helper::append_string_view("\" ", dest);
}
// write eol

Loading…
Cancel
Save