#pragma once #include "logger/logger_fwd.h" namespace logging { struct appender { virtual ~appender() = default; virtual std::ostream & stream() = 0; virtual void write(logpacket const & packet, layout & withLayout) = 0; virtual bool should_log(level ll) const = 0; virtual void flush() = 0; }; struct simple_appender : appender { simple_appender() = default; simple_appender(properties const & props); void write(logpacket const & packet, layout & withLayout) override; bool should_log(level ll) const override; void flush() override; level threshold; }; }