opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
log_sink.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace osc { class LogMessageView; }
6
7namespace osc
8{
9 // An abstract base class for an object that can receive (sink) log
10 // messages from a `Logger`.
11 class LogSink {
12 protected:
13 LogSink() = default;
14 LogSink(const LogSink&) = default;
18 public:
20
21 LogLevel level() const { return sink_level_; }
22 void set_level(LogLevel log_level) { sink_level_ = log_level; }
25
26 private:
27 virtual void impl_sink_message(const LogMessageView&) = 0;
28
29 LogLevel sink_level_ = LogLevel::trace;
30 };
31}
Definition log_message_view.h:12
Definition log_sink.h:11
void sink_message(const LogMessageView &message_view)
Definition log_sink.h:24
LogSink(LogSink &&) noexcept=default
void set_level(LogLevel log_level)
Definition log_sink.h:22
LogSink(const LogSink &)=default
bool should_log(LogLevel message_level) const
Definition log_sink.h:23
LogLevel level() const
Definition log_sink.h:21
LogSink()=default
virtual void impl_sink_message(const LogMessageView &)=0
Definition custom_decoration_generator.h:5
LogLevel log_level()
Definition log.h:23
LogLevel
Definition log_level.h:11
constexpr U to(T &&value)
Definition conversion.h:56