in logger/src/outputs.rs [107:126]
fn rotate(&mut self) -> Result<(), Error> {
let size = self.size()?;
if size >= self.max_size {
// rename the open file
std::fs::rename(&self.active, &self.backup)?;
// create a new file for the live log
LOG_OPEN.increment();
let file = match std::fs::File::create(&self.active) {
Ok(f) => f,
Err(e) => {
LOG_OPEN_EX.increment();
return Err(e);
}
};
self.writer = BufWriter::new(file);
}
Ok(())
}