6#include <userver/concurrent/variable.hpp>
7#include <userver/logging/level.hpp>
8#include <userver/server/handlers/http_handler_base.hpp>
10USERVER_NAMESPACE_BEGIN
16namespace server::handlers {
49class LogLevel
final :
public HttpHandlerBase {
51 LogLevel(
const components::ComponentConfig& config,
const components::ComponentContext& component_context);
55 static constexpr std::string_view
kName =
"handler-log-level";
57 std::string
HandleRequestThrow(
const http::HttpRequest& request, request::RequestContext&)
const override;
59 static yaml_config::Schema GetStaticConfigSchema();
62 std::string ProcessGet(
const http::HttpRequest& request, request::RequestContext&)
const;
63 std::string ProcessPut(
const http::HttpRequest& request, request::RequestContext&)
const;
65 components::Logging& logging_component_;
67 logging::Level default_init_level;
68 mutable std::unordered_map<std::string, logging::Level> init_levels;
70 concurrent::Variable<Data> data_;
76inline constexpr bool components::kHasValidate<server::handlers::LogLevel> =
true;