NexusForce
1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
log_formatter.hpp
浏览该文件的文档.
1
#ifndef NEFORCE_LOGGING_LOG_FORMATTER_HPP__
2
#define NEFORCE_LOGGING_LOG_FORMATTER_HPP__
3
11
12
#include "
NeForce/core/container/vector.hpp
"
13
#include "
NeForce/logging/log_event.hpp
"
14
NEFORCE_BEGIN_NAMESPACE__
15
21
39
class
NEFORCE_API
log_formatter
{
40
private
:
47
struct
part {
48
bool
is_placeholder
;
49
string
text;
50
51
part(
const
bool
is_ph,
string
t) noexcept :
52
is_placeholder
(is_ph),
53
text(_NEFORCE
move
(t)) {}
54
55
~part() =
default
;
56
57
part(
const
part&) =
default
;
58
part& operator=(
const
part&) =
default
;
59
60
part(part&&)
noexcept
=
default
;
61
part& operator=(part&&)
noexcept
=
default
;
62
};
63
string
pattern_;
64
vector<part>
parts_;
65
71
void
parse_pattern();
72
79
NEFORCE_NODISCARD
string
resolve_placeholder(
string
ph,
const
log_event
& event)
const
;
80
81
public
:
86
explicit
log_formatter
(
string
pattern);
87
88
~log_formatter
() =
default
;
89
90
log_formatter
(
const
log_formatter
&) =
default
;
91
log_formatter
& operator=(
const
log_formatter
&) =
default
;
92
93
log_formatter
(
log_formatter
&&) noexcept = default;
94
log_formatter
& operator=(
log_formatter
&&) noexcept = default;
95
101
NEFORCE_NODISCARD
string
format
(const
log_event
& event);
102
};
103
// Logging
105
106
NEFORCE_END_NAMESPACE__
107
#endif
// NEFORCE_LOGGING_LOG_FORMATTER_HPP__
log_formatter::format
string format(const log_event &event)
格式化日志事件
log_formatter::log_formatter
log_formatter(string pattern)
构造函数
vector
动态大小数组容器
定义
vector.hpp:167
move
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
定义
shift.hpp:312
log_event.hpp
日志事件定义
is_placeholder
判断是否为占位符
定义
bind.hpp:270
log_event
日志事件结构体
定义
log_event.hpp:70
vector.hpp
动态大小数组容器
include
NeForce
logging
log_formatter.hpp
制作者
1.16.0