1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use crate::appender::{FastLogRecord, LogAppender};
use crate::consts::LogSize;
use crate::plugin::file_split::{FileSplitAppender, RollingType};
use crate::plugin::packer::LogPacker;
pub struct FileLoopAppender {
file: FileSplitAppender,
}
impl FileLoopAppender {
pub fn new(log_file_path: &str, max_temp_size: LogSize) -> FileLoopAppender {
Self {
file: FileSplitAppender::new(log_file_path, max_temp_size, RollingType::KeepNum(1), Box::new(LogPacker {}))
}
}
}
impl LogAppender for FileLoopAppender {
fn do_logs(&self, records: &[FastLogRecord]) {
self.file.do_logs(records);
}
fn flush(&self) {
self.file.flush();
}
}