# rotating-file [![](https://img.shields.io/github/workflow/status/soulmachine/rotating-file/CI/main)](https://github.com/soulmachine/rotating-file/actions?query=branch%3Amain) [![](https://img.shields.io/crates/v/rotating-file.svg)](https://crates.io/crates/rotating-file) [![](https://docs.rs/rotating-file/badge.svg)](https://docs.rs/rotating-file) ========== A thread-safe rotating file with customizable rotation behavior. ## Example ```rust use rotating_file::RotatingFile; fn main() { let root_dir = "./target/tmp"; let s = "The quick brown fox jumps over the lazy dog"; // rotated by 1 kilobyte, compressed with gzip let rotating_file = RotatingFile::new(root_dir, Some(1), None, None, None, None, None); for _ in 0..24 { rotating_file.writeln(s).unwrap(); } rotating_file.close(); assert_eq!(2, std::fs::read_dir(root_dir).unwrap().count()); std::fs::remove_dir_all(root_dir).unwrap(); } ```