Go to the documentation of this file.
9 #ifndef EAGINE_LOGGING_PROXY_BACKEND_HPP
10 #define EAGINE_LOGGING_PROXY_BACKEND_HPP
18 class proxy_log_backend :
public logger_backend {
21 : _min_severity{min_severity} {}
23 auto configure(application_config&) ->
bool final;
26 -> logger_backend*
final;
28 auto allocator() noexcept -> memory::shared_byte_allocator final;
31 void enter_scope(
identifier source) noexcept final;
32 void leave_scope(
identifier source) noexcept final;
57 message_id value) noexcept final;
64 std::intmax_t value) noexcept final;
69 std::uintmax_t value) noexcept final;
78 float max) noexcept final;
83 std::chrono::duration<
float> value) noexcept final;
93 void finish_message() noexcept final;
95 void finish_log() noexcept final;
97 void log_chart_sample(
101 float value) noexcept final;
104 std::unique_ptr<logger_backend> _delegate;
105 std::unique_ptr<std::vector<std::function<
void()>>> _delayed{
106 std::make_unique<std::vector<std::function<void()>>>()};
112 #if !EAGINE_LINK_LIBRARY || defined(EAGINE_IMPLEMENTING_LIBRARY)
113 #include <eagine/logging/proxy_backend.inl>
116 #endif // EAGINE_LOGGING_PROXY_BACKEND_HPP
basic_string_span< const char > string_view
Alias for const string views.
Definition: string_span.hpp:116
Common code is placed in this namespace.
Definition: eagine.hpp:21
std::uintptr_t logger_instance_id
Logger object instance id type.
Definition: backend.hpp:56
basic_block< true > const_block
Alias for const byte memory span.
Definition: block.hpp:32
static auto format(std::string &&fmt_str) noexcept -> format_string_and_list< 0 >
Function taking a format string, returning an object for variable specification.
Definition: str_format.hpp:118
log_event_severity
Log event severity enumeration.
Definition: severity.hpp:18
basic_identifier< 10, 6, default_identifier_char_set, identifier_t > identifier
Default identifier type used throughout the project.
Definition: identifier.hpp:346