NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
file_sink.hpp
浏览该文件的文档.
1#ifndef NEFORCE_LOGGING_FILE_SINK_HPP__
2#define NEFORCE_LOGGING_FILE_SINK_HPP__
3
10
14NEFORCE_BEGIN_NAMESPACE__
15
21
36class NEFORCE_API file_sink final : public log_sink {
37private:
38 file file_;
39 mutex mutex_;
40 path base_filename_;
41 string current_date_;
42 size_t max_file_size_;
43 size_t current_size_;
44 int file_index_;
45 bool enable_date_rotation_;
46
55 void open_new_file();
56
62 void rotate_file();
63
70 void rotate_by_date(string today);
71
72public:
83 explicit file_sink(path filename, size_t max_file_size = 10 * 1024 * 1024, bool enable_date_rotation = true);
84
92 void log(const log_event& event) override;
93
99 void flush() override;
100};
101 // Logging
103
104NEFORCE_END_NAMESPACE__
105#endif // NEFORCE_LOGGING_FILE_SINK_HPP__
void log(const log_event &event) override
写入日志事件
void flush() override
刷新文件缓冲区
file_sink(path filename, size_t max_file_size=10 *1024 *1024, bool enable_date_rotation=true)
构造函数
文件操作类
日志输出目标基类
非递归互斥锁
文件路径类
文件操作类
日志输出目标
互斥锁
日志事件结构体