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
12
#include "
NeForce/core/container/vector.hpp
"
13
#include "
NeForce/logging/log_event.hpp
"
14
NEFORCE_BEGIN_NAMESPACE__
15
20
40
class
NEFORCE_API
log_formatter
{
41
private
:
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
66
public
:
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
90
NEFORCE_END_NAMESPACE__
91
#endif
// NEFORCE_LOGGING_LOG_FORMATTER_HPP__
neforce::log_formatter::log_formatter
log_formatter(string pattern)
从模式字符串构造格式化器
neforce::log_formatter::format
string format(const log_event &event)
格式化日志事件
neforce::vector
动态大小数组容器
定义
vector.hpp:167
neforce::move
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
定义
shift.hpp:312
log_event.hpp
日志事件定义
neforce::is_placeholder
判断是否为占位符
定义
bind.hpp:270
neforce::log_event
日志事件结构体
定义
log_event.hpp:173
vector.hpp
动态大小数组容器
include
NeForce
logging
log_formatter.hpp
制作者
1.16.0