1 /*! 2 Using `env_logger::Logger` and the `log::Log` trait directly. 3 4 This example doesn't rely on environment variables, or having a static logger installed. 5 */ 6 7 use env_logger::{Builder, WriteStyle}; 8 9 use log::{Level, LevelFilter, Log, MetadataBuilder, Record}; 10 record() -> Record<'static>11fn record() -> Record<'static> { 12 let error_metadata = MetadataBuilder::new() 13 .target("myApp") 14 .level(Level::Error) 15 .build(); 16 17 Record::builder() 18 .metadata(error_metadata) 19 .args(format_args!("Error!")) 20 .line(Some(433)) 21 .file(Some("app.rs")) 22 .module_path(Some("server")) 23 .build() 24 } 25 main()26fn main() { 27 let stylish_logger = Builder::new() 28 .filter(None, LevelFilter::Error) 29 .write_style(WriteStyle::Always) 30 .build(); 31 32 let unstylish_logger = Builder::new() 33 .filter(None, LevelFilter::Error) 34 .write_style(WriteStyle::Never) 35 .build(); 36 37 stylish_logger.log(&record()); 38 unstylish_logger.log(&record()); 39 } 40