MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
log_formatter.hpp
1#ifndef MSTL_LOGGING_LOG_FORMATTER_HPP__
2#define MSTL_LOGGING_LOG_FORMATTER_HPP__
3#include "MSTL/core/container/vector.hpp"
5
6class MSTL_API log_formatter {
7private:
8 struct part {
9 bool is_placeholder;
10 string text;
11
12 part(const bool ph, string t) noexcept
13 : is_placeholder(ph), text(_MSTL move(t)) {}
14 };
15 string pattern_;
16 vector<part> parts_;
17
18 void parse_pattern();
19 string resolve_placeholder(string ph, const log_event& event) const;
20
21public:
22 explicit log_formatter(string pattern);
23
24 MSTL_NODISCARD string format(const log_event& event);
25};
26
28#endif // MSTL_LOGGING_LOG_FORMATTER_HPP__
#define _MSTL
全局命名空间MSTL前缀
#define MSTL_END_NAMESPACE__
结束全局命名空间MSTL
#define MSTL_BEGIN_NAMESPACE__
开始全局命名空间MSTL
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result)
移动范围元素