NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
log_formatter.hpp
浏览该文件的文档.
1#ifndef NEFORCE_LOGGING_LOG_FORMATTER_HPP__
2#define NEFORCE_LOGGING_LOG_FORMATTER_HPP__
3
11
14NEFORCE_BEGIN_NAMESPACE__
15
20
40class NEFORCE_API log_formatter {
41private:
46 struct part {
47 bool is_placeholder;
48 string text;
49
50 part(const bool is_ph, string t) noexcept :
51 is_placeholder(is_ph),
52 text(_NEFORCE move(t)) {}
53
54 ~part() = default;
55 part(const part&) = default;
56 part& operator=(const part&) = default;
57 part(part&&) noexcept = default;
58 part& operator=(part&&) noexcept = default;
59 };
60
61 string pattern_;
62 vector<part> parts_;
63
64 void parse_pattern();
65
66public:
71 explicit log_formatter(string pattern);
72
73 ~log_formatter() = default;
74
75 log_formatter(const log_formatter&) = default;
76 log_formatter& operator=(const log_formatter&) = default;
77 log_formatter(log_formatter&&) noexcept = default;
78 log_formatter& operator=(log_formatter&&) noexcept = default;
79
85 NEFORCE_NODISCARD string format(const log_event& event);
86};
87 // Logging
89
90NEFORCE_END_NAMESPACE__
91#endif // NEFORCE_LOGGING_LOG_FORMATTER_HPP__
log_formatter(string pattern)
从模式字符串构造格式化器
string format(const log_event &event)
格式化日志事件
动态大小数组容器
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
日志事件定义
判断是否为占位符
日志事件结构体
动态大小数组容器