SHA256
27 lines
572 B
C++
27 lines
572 B
C++
#ifndef FEATHERLOG_LOG_OUTPUTER_HPP
|
|
#define FEATHERLOG_LOG_OUTPUTER_HPP
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
#include "log_formatter.hpp"
|
|
#include "log_message.hpp"
|
|
|
|
namespace flog
|
|
{
|
|
class LogOutputter
|
|
{
|
|
public:
|
|
virtual ~LogOutputter() = default;
|
|
|
|
std::unique_ptr<LogFormatter> set_formatter(const std::unique_ptr<LogFormatter>& formatter);
|
|
std::unique_ptr<LogFormatter>& get_formatter();
|
|
|
|
virtual void write(const LogMessage& message) = 0;
|
|
|
|
protected:
|
|
std::unique_ptr<LogFormatter> m_logFormatter;
|
|
};
|
|
}
|
|
|
|
#endif |