Remove mdc

This commit is contained in:
gabime
2024-11-29 13:32:15 +02:00
parent 14a202580b
commit eacd4d6b2a
5 changed files with 7 additions and 229 deletions

View File

@@ -3,8 +3,6 @@
#include "spdlog/pattern_formatter.h"
#include <spdlog/mdc.h>
#include <algorithm>
#include <array>
#include <cctype>
@@ -739,47 +737,6 @@ private:
log_clock::time_point last_message_time_;
};
// Class for formatting Mapped Diagnostic Context (MDC) in log messages.
// Example: [logger-name] [info] [mdc_key_1:mdc_value_1 mdc_key_2:mdc_value_2] some message
template <typename ScopedPadder>
class mdc_formatter final : public flag_formatter {
public:
explicit mdc_formatter(padding_info padinfo)
: flag_formatter(padinfo) {}
void format(const details::log_msg &, const std::tm &, memory_buf_t &dest) override {
auto &mdc_map = mdc::get_context();
if (mdc_map.empty()) {
ScopedPadder p(0, padinfo_, dest);
return;
} else {
format_mdc(mdc_map, dest);
}
}
void format_mdc(const mdc::mdc_map_t &mdc_map, memory_buf_t &dest) {
auto last_element = --mdc_map.end();
for (auto it = mdc_map.begin(); it != mdc_map.end(); ++it) {
auto &pair = *it;
const auto &key = pair.first;
const auto &value = pair.second;
size_t content_size = key.size() + value.size() + 1; // 1 for ':'
if (it != last_element) {
content_size++; // 1 for ' '
}
ScopedPadder p(content_size, padinfo_, dest);
fmt_helper::append_string_view(key, dest);
fmt_helper::append_string_view(":", dest);
fmt_helper::append_string_view(value, dest);
if (it != last_element) {
fmt_helper::append_string_view(" ", dest);
}
}
}
};
// Full info formatter
// pattern: [%Y-%m-%d %H:%M:%S.%e] [%n] [%l] [%s:%#] %v
class full_formatter final : public flag_formatter {
@@ -853,22 +810,12 @@ public:
dest.push_back(']');
dest.push_back(' ');
}
// add mdc if present
auto &mdc_map = mdc::get_context();
if (!mdc_map.empty()) {
dest.push_back('[');
mdc_formatter_.format_mdc(mdc_map, dest);
dest.push_back(']');
dest.push_back(' ');
}
fmt_helper::append_string_view(msg.payload, dest);
}
private:
std::chrono::seconds cache_timestamp_{0};
memory_buf_t cached_datetime_;
mdc_formatter<null_scoped_padder> mdc_formatter_{padding_info{}};
};
} // namespace details
@@ -1146,10 +1093,6 @@ void pattern_formatter::handle_flag_(char flag, details::padding_info padding) {
formatters_.push_back(std::make_unique<details::elapsed_formatter<Padder, std::chrono::seconds>>(padding));
break;
case ('&'):
formatters_.push_back(std::make_unique<details::mdc_formatter<Padder>>(padding));
break;
default: // Unknown flag appears as is
auto unknown_flag = std::make_unique<details::aggregate_formatter>();