#pragma once #include "logger/logger_fwd.h" #include #include #include namespace logging { class log_appender { public: log_appender(p_appender append, p_layout layout); ~log_appender(); void write(logpacket const & packet); bool should_log(level ll) const; void flush(); private: p_appender appender_; p_layout layout_; bool has_logged_; }; struct logger_impl { bool should_log(level ll) const; void write(logpacket const & pkt); void flush(); std::vector> impls; level min_log_level; }; }