#pragma once #include "logger_fwd.h" namespace logging { class logger_impl { public: virtual ~logger_impl() = default; virtual void write(logpacket const & pkt) = 0; virtual void write(log_level level, std::string const& msg) = 0; virtual void flush() = 0; bool should_log(log_level ll) const { return ll >= min_log_level; } protected: log_level min_log_level; }; }