MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
log_sink.hpp
1#ifndef MSTL_LOGGING_LOG_SINK_HPP__
2#define MSTL_LOGGING_LOG_SINK_HPP__
3#include "log_event.hpp"
4#include "log_formatter.hpp"
6
7class MSTL_API log_sink {
8protected:
9 unique_ptr<log_formatter> formatter_;
10
11public:
12 virtual ~log_sink() = default;
13 virtual void log(const log_event& event) = 0;
14 virtual void flush() = 0;
15
16 void set_formatter(unique_ptr<log_formatter> formatter);
17};
18
19
20class MSTL_API console_sink final : public log_sink {
21private:
22 static string default_format(const log_event& ev);
23
24public:
25 void log(const log_event& event) override;
26 void flush() override;
27};
28
30#endif // MSTL_LOGGING_LOG_SINK_HPP__
#define MSTL_END_NAMESPACE__
结束全局命名空间MSTL
#define MSTL_BEGIN_NAMESPACE__
开始全局命名空间MSTL