#ifndef FEATHERLOG_LOG_OUTPUTTER_HPP #define FEATHERLOG_LOG_OUTPUTTER_HPP #include #include "log_formatter.hpp" #include "log_message.hpp" namespace flog { class LogOutputter { public: virtual ~LogOutputter() = default; std::unique_ptr set_formatter(const std::unique_ptr& formatter); std::unique_ptr& get_formatter(); virtual void write(const LogMessage& message) = 0; protected: std::unique_ptr m_logFormatter; }; } #endif