NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
file_sink.hpp
浏览该文件的文档.
1#ifndef NEFORCE_LOGGING_FILE_SINK_HPP__
2#define NEFORCE_LOGGING_FILE_SINK_HPP__
3
14
18NEFORCE_BEGIN_NAMESPACE__
19
24
32class NEFORCE_API file_sink final : public log_sink {
33private:
34 file file_;
35 mutex mutex_;
36 path base_filename_;
37 string current_date_;
38 size_t max_file_size_;
39 size_t current_size_;
40 int file_index_;
41 bool enable_date_rotation_;
42 size_t max_files_;
43
44 void open_new_file();
45 void cleanup_old_files();
46
47 void rotate_file();
48 void rotate_by_date(string today);
49
50public:
58 explicit file_sink(path filename, size_t max_file_size = static_cast<size_t>(10 * 1024 * 1024),
59 bool enable_date_rotation = true, size_t max_files = 0);
60
67 void log(const log_event& event) override;
68
70 void flush() override;
71};
72 // Logging
74
75NEFORCE_END_NAMESPACE__
76#endif // NEFORCE_LOGGING_FILE_SINK_HPP__
void flush() override
刷新文件缓冲区到磁盘
void log(const log_event &event) override
输出日志到文件
file_sink(path filename, size_t max_file_size=static_cast< size_t >(10 *1024 *1024), bool enable_date_rotation=true, size_t max_files=0)
构造文件输出目标
文件操作类
日志输出目标基类
非递归互斥锁
文件路径类
文件操作类
日志输出目标
互斥锁
日志事件结构体