1#ifndef MSTL_LOGGING_LOG_SINK_HPP__
2#define MSTL_LOGGING_LOG_SINK_HPP__
3#include "log_event.hpp"
4#include "log_formatter.hpp"
7class MSTL_API log_sink {
9 unique_ptr<log_formatter> formatter_;
12 virtual ~log_sink() =
default;
13 virtual void log(
const log_event& event) = 0;
14 virtual void flush() = 0;
16 void set_formatter(unique_ptr<log_formatter> formatter);
20class MSTL_API console_sink final :
public log_sink {
22 static string default_format(
const log_event& ev);
25 void log(
const log_event& event)
override;
26 void flush()
override;
#define MSTL_END_NAMESPACE__
结束全局命名空间MSTL
#define MSTL_BEGIN_NAMESPACE__
开始全局命名空间MSTL