Use env_logger::Builder for fine-grained control over the logger's behavior, such as custom formatting, specific module filters, or changing the output target. You can initialize a builder from the default environment, a custom environment, or a blank state.
Common builder tasks include:
- Custom Formatting: Use
.format() to provide a closure for custom log output. - Filtering: Use
.filter_level() for global levels or .filter_module() for specific modules. - Output Target: Use
.target() to switch between stdout, stderr, or a custom pipe. - Styles: Use
.write_style() to control ANSI color output.
use env_logger::Builder;
use log::{LevelFilter, error, info};
let mut builder = Builder::from_default_env();
builder
.format(|buf, record| writeln!(buf, "{} - {}", record.level(), record.args()))
.filter(None, LevelFilter::Info)
.init();
error!("error message");
info!("info message");