#ifndef FEATHERLOG_LOG_OUTPUTTER_HPP #define FEATHERLOG_LOG_OUTPUTTER_HPP #include #include #include #include namespace flog { class FLOG_API LogOutputter { public: virtual ~LogOutputter() = default; std::unique_ptr FLOG_CALL set_formatter(const std::unique_ptr& formatter); [[nodiscard]] const std::unique_ptr& FLOG_CALL get_formatter() const; virtual void FLOG_CALL write(const LogMessage& message) = 0; protected: std::unique_ptr m_logFormatter; }; } #endif