37 lines
No EOL
1.1 KiB
Rust
37 lines
No EOL
1.1 KiB
Rust
use std::fs;
|
|
use std::fs::File;
|
|
use chrono::{Local, SecondsFormat};
|
|
use log::LevelFilter;
|
|
use simplelog::{ColorChoice, CombinedLogger, Config, TermLogger, TerminalMode, WriteLogger};
|
|
|
|
pub fn setup(){
|
|
CombinedLogger::init(vec![
|
|
TermLogger::new(
|
|
LevelFilter::Info,
|
|
Config::default(),
|
|
TerminalMode::Mixed,
|
|
ColorChoice::Auto,
|
|
),
|
|
WriteLogger::new(LevelFilter::max(), Config::default(), {
|
|
fs::create_dir_all("log").unwrap();
|
|
let date = Local::now().to_rfc3339_opts(SecondsFormat::Secs, false);
|
|
// this fixes windows being windows
|
|
let date = date.replace(":", "-");
|
|
let filename = format!("{}.log", date);
|
|
if cfg!(windows) {
|
|
File::create(format!("log\\{}", filename)).unwrap()
|
|
} else {
|
|
File::create(format!("log/{}", filename)).unwrap()
|
|
}
|
|
}),
|
|
])
|
|
.unwrap();
|
|
|
|
/*ctrlc::set_handler(||{
|
|
FORCE_EXIT.call_once_force(|_|{
|
|
println!("attempting exit");
|
|
});
|
|
}).unwrap();*/
|
|
|
|
dotenv::dotenv().ok();
|
|
} |