use std::fs::{File, OpenOptions};
use std::io::{Write, BufWriter};
use std::path::Path;
pub use types::*;
mod types;
pub fn write_error_to_log(error: &LoggerError, log_directory: &Path) {
let error_log_path = log_directory.join("logger_errors.log");
if let Ok(mut file) = OpenOptions::new()
.create(true)
.append(true)
.open(error_log_path)
{
let timestamp = get_current_timestamp();
let error_message = format!("[{}] FreedomLogger Error: {}\n", timestamp, error);
let mut writer = BufWriter::new(&mut file);
let _ = writer.write_all(error_message.as_bytes());
let _ = writer.flush();
}
}
fn get_current_timestamp() -> String {
use chrono::{Local, DateTime};
let now: DateTime<Local> = Local::now();
now.format("%Y-%m-%d %H:%M:%S").to_string()
}