logger.rs (709B)
1 use log::LevelFilter; 2 pub fn setup_logger(crate_level: LevelFilter) -> Result<(), fern::InitError> { 3 fern::Dispatch::new() 4 .format(|out, message, record| { 5 out.finish(format_args!( 6 "{}[{}][{}] {}", 7 chrono::Local::now().format("[%Y-%m-%d][%H:%M:%S]"), 8 record.target(), 9 record.level(), 10 message 11 )) 12 }) 13 // output all messages 14 .level(log::LevelFilter::Warn) 15 .level_for("auto_invite_matrix_bot", crate_level) 16 .level_for("ruma_client", crate_level) 17 .chain(std::io::stdout()) 18 .chain(fern::log_file("output.log")?) 19 .apply()?; 20 Ok(()) 21 }