NexusForce
1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
log_sink.hpp
浏览该文件的文档.
1
#ifndef NEFORCE_LOGGING_LOG_SINK_HPP__
2
#define NEFORCE_LOGGING_LOG_SINK_HPP__
3
11
12
#include "
NeForce/logging/log_event.hpp
"
13
#include "
NeForce/logging/log_formatter.hpp
"
14
NEFORCE_BEGIN_NAMESPACE__
15
21
22
inline
string
default_sink_format(
const
log_event
& ev) {
return
"["
_s +
to_string
(ev.
level
) +
"] "
+ ev.
message
; }
23
31
class
NEFORCE_API
log_sink
{
32
protected
:
33
unique_ptr<log_formatter>
formatter_
;
34
35
public
:
36
virtual
~log_sink
() =
default
;
37
44
virtual
void
log
(
const
log_event
& event) = 0;
45
51
virtual
void
flush
() = 0;
52
59
void
set_formatter
(
unique_ptr<log_formatter>
formatter
);
60
};
61
62
70
class
NEFORCE_API
console_sink
final :
public
log_sink
{
71
public
:
78
void
log
(
const
log_event
& event)
override
;
79
83
void
flush
()
override
;
84
};
85
// Logging
87
88
NEFORCE_END_NAMESPACE__
89
#endif
// NEFORCE_LOGGING_LOG_SINK_HPP__
console_sink
控制台输出目标
定义
log_sink.hpp:70
console_sink::flush
void flush() override
刷新控制台缓冲区
console_sink::log
void log(const log_event &event) override
输出日志到控制台
log_sink
日志输出目标基类
定义
log_sink.hpp:31
log_sink::log
virtual void log(const log_event &event)=0
输出日志事件
log_sink::set_formatter
void set_formatter(unique_ptr< log_formatter > formatter)
设置格式化器
log_sink::formatter_
unique_ptr< log_formatter > formatter_
日志格式化器
定义
log_sink.hpp:33
log_sink::flush
virtual void flush()=0
刷新缓冲区
unique_ptr
独占智能指针
定义
unique_ptr.hpp:206
to_string
constexpr string to_string(const CharT &c)
将字符转换为普通字符串
定义
icharacter.hpp:115
log_event.hpp
日志事件定义
log_formatter.hpp
日志格式化器
formatter
格式化器主模板
定义
format.hpp:385
log_event
日志事件结构体
定义
log_event.hpp:70
log_event::level
log_level level
日志级别
定义
log_event.hpp:78
log_event::message
string message
日志消息
定义
log_event.hpp:74
include
NeForce
logging
log_sink.hpp
制作者
1.16.0