1336d762aSopenharmony_ci/*! 2336d762aSopenharmony_ciChanging the default logging format. 3336d762aSopenharmony_ci 4336d762aSopenharmony_ciBefore running this example, try setting the `MY_LOG_LEVEL` environment variable to `info`: 5336d762aSopenharmony_ci 6336d762aSopenharmony_ci```no_run,shell 7336d762aSopenharmony_ci$ export MY_LOG_LEVEL='info' 8336d762aSopenharmony_ci``` 9336d762aSopenharmony_ci 10336d762aSopenharmony_ciAlso try setting the `MY_LOG_STYLE` environment variable to `never` to disable colors 11336d762aSopenharmony_cior `auto` to enable them: 12336d762aSopenharmony_ci 13336d762aSopenharmony_ci```no_run,shell 14336d762aSopenharmony_ci$ export MY_LOG_STYLE=never 15336d762aSopenharmony_ci``` 16336d762aSopenharmony_ci 17336d762aSopenharmony_ciIf you want to control the logging output completely, see the `custom_logger` example. 18336d762aSopenharmony_ci*/ 19336d762aSopenharmony_ci 20336d762aSopenharmony_ci#[cfg(all(feature = "termcolor", feature = "humantime"))] 21336d762aSopenharmony_cifn main() { 22336d762aSopenharmony_ci use env_logger::{fmt::Color, Builder, Env}; 23336d762aSopenharmony_ci 24336d762aSopenharmony_ci use std::io::Write; 25336d762aSopenharmony_ci 26336d762aSopenharmony_ci fn init_logger() { 27336d762aSopenharmony_ci let env = Env::default() 28336d762aSopenharmony_ci .filter("MY_LOG_LEVEL") 29336d762aSopenharmony_ci .write_style("MY_LOG_STYLE"); 30336d762aSopenharmony_ci 31336d762aSopenharmony_ci Builder::from_env(env) 32336d762aSopenharmony_ci .format(|buf, record| { 33336d762aSopenharmony_ci let mut style = buf.style(); 34336d762aSopenharmony_ci style.set_bg(Color::Yellow).set_bold(true); 35336d762aSopenharmony_ci 36336d762aSopenharmony_ci let timestamp = buf.timestamp(); 37336d762aSopenharmony_ci 38336d762aSopenharmony_ci writeln!( 39336d762aSopenharmony_ci buf, 40336d762aSopenharmony_ci "My formatted log ({}): {}", 41336d762aSopenharmony_ci timestamp, 42336d762aSopenharmony_ci style.value(record.args()) 43336d762aSopenharmony_ci ) 44336d762aSopenharmony_ci }) 45336d762aSopenharmony_ci .init(); 46336d762aSopenharmony_ci } 47336d762aSopenharmony_ci 48336d762aSopenharmony_ci init_logger(); 49336d762aSopenharmony_ci 50336d762aSopenharmony_ci log::info!("a log from `MyLogger`"); 51336d762aSopenharmony_ci} 52336d762aSopenharmony_ci 53336d762aSopenharmony_ci#[cfg(not(all(feature = "termcolor", feature = "humantime")))] 54336d762aSopenharmony_cifn main() {} 55