19 explicit Logger(std::string_view name) :
23 Logger(std::string_view name, std::shared_ptr<LogSink>
sink) :
33 template<
class...
Args>
41 if (
it == log_sinks_.end()) {
48 const auto message = std::format(std::move(
fmt), std::forward<Args>(
args)...);
54 for (;
it != log_sinks_.end(); ++
it) {
55 if ((*it)->should_log(view.level())) {
56 (*it)->sink_message(view);
61 const std::vector<std::shared_ptr<LogSink>>&
sinks()
const {
return log_sinks_; }
62 std::vector<std::shared_ptr<LogSink>>&
sinks() {
return log_sinks_; }
69 std::vector<std::shared_ptr<LogSink>> log_sinks_;
Definition c_string_view.h:13
Definition log_message_view.h:12
const std::vector< std::shared_ptr< LogSink > > & sinks() const
Definition logger.h:61
Logger(std::string_view name)
Definition logger.h:19
void log_message(LogLevel log_level, std::format_string< Args... > fmt, Args &&... args)
Definition logger.h:34
std::vector< std::shared_ptr< LogSink > > & sinks()
Definition logger.h:62
void log_message(LogLevel log_level, std::string_view message)
Definition logger.h:28
LogLevel level() const
Definition logger.h:64
Logger(std::string_view name, std::shared_ptr< LogSink > sink)
Definition logger.h:23
void set_level(LogLevel level_)
Definition logger.h:65
Definition string_name.h:14
Definition custom_decoration_generator.h:5
LogLevel log_level()
Definition log.h:20
LogLevel
Definition log_level.h:11
constexpr U to(T &&value)
Definition conversion.h:56