userver: userver/components/dump_configurator.hpp Source File
Loading...
Searching...
No Matches
dump_configurator.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/components/dump_configurator.hpp
4/// @brief @copybrief components::DumpConfigurator
5
6#include <string>
7
8#include <userver/components/component_base.hpp>
9#include <userver/components/component_fwd.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace components {
14
15/// @ingroup userver_components
16///
17/// @brief Helper component that manages common configuration for userver dumps.
18///
19/// The component must be configured in service config.
20///
21/// ## Static options of components::DumpConfigurator :
22/// @include{doc} scripts/docs/en/components_schema/core/src/components/dump_configurator.md
23///
24/// Options inherited from @ref components::ComponentBase :
25/// @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
26///
27/// ## Config example:
28///
29/// @snippet components/common_component_list_test.cpp Sample dump configurator component config
30class DumpConfigurator final : public ComponentBase {
31public:
32 /// @ingroup userver_component_names
33 /// @brief The default name of @ref components::DumpConfigurator component
34 static constexpr std::string_view kName = "dump-configurator";
35
36 DumpConfigurator(const ComponentConfig& config, const ComponentContext& context);
37
38 const std::string& GetDumpRoot() const;
39
40 static yaml_config::Schema GetStaticConfigSchema();
41
42private:
43 const std::string dump_root_;
44};
45
46template <>
47inline constexpr bool kHasValidate<DumpConfigurator> = true;
48
49} // namespace components
50
51USERVER_NAMESPACE_END