burn 0.3.0

BURN: Burn Unstoppable Rusty Neurons
Documentation
use super::Logger;
use std::{fs::File, io::Write};

pub struct FileLogger {
    file: File,
}

impl FileLogger {
    pub fn new(path: &str) -> Self {
        let mut options = std::fs::File::options();
        let file = options
            .write(true)
            .truncate(true)
            .create(true)
            .open(path)
            .unwrap();

        Self { file }
    }
}

impl<T> Logger<T> for FileLogger
where
    T: std::fmt::Display,
{
    fn log(&mut self, item: T) {
        writeln!(&mut self.file, "{}", item).unwrap();
    }
}