8#include <userver/logging/log_extra.hpp>
9#include <userver/tracing/span.hpp>
11USERVER_NAMESPACE_BEGIN
24 logging::LogExtra::Value value,
25 logging::LogExtra::ExtendType extend_type = logging::LogExtra::ExtendType::kNormal
31 logging::LogExtra::Value value,
32 logging::LogExtra::ExtendType extend_type = logging::LogExtra::ExtendType::kNormal
35 explicit TagScope(logging::LogExtra&& extra);
37 explicit TagScope(Span& parent, logging::LogExtra&& extra);
41 TagScope(
const TagScope& other) =
delete;
48 void AddTag(std::string&& key, logging::LogExtra::ProtectedValue&& value);
50 static constexpr std::size_t kNewKeysVectorSize = 8;
53 std::size_t new_tags_begin_index_;
54 std::size_t new_tags_end_index_;
55 std::vector<std::pair<std::size_t, logging::LogExtra::ProtectedValue>> previous_values_;