Expand description
Control log
level with a --verbose
flag for your CLI
§Examples
To get --quiet
and --verbose
flags through your entire program, just flatten
Verbosity
:
#[command(flatten)]
verbose: Verbosity,
You can then use this to configure your logger:
let cli = Cli::parse();
env_logger::Builder::new()
.filter_level(cli.verbose.log_level_filter())
.init();
By default, this will only report errors.
-q
silences output-v
show warnings-vv
show info-vvv
show debug-vvvv
show trace
By default, the log level is set to Error. To customize this to a different level, pass a type
implementing the LogLevel
trait to Verbosity
:
use clap_verbosity_flag::{Verbosity, InfoLevel};
/// Le CLI
#[derive(Debug, Parser)]
struct Cli {
#[command(flatten)]
verbose: Verbosity<InfoLevel>,
}
Or implement our LogLevel
trait to customize the default log level and help output.
Modules§
Structs§
- Default to
VerbosityFilter::Debug
- Default to
VerbosityFilter::Error
- Default to
VerbosityFilter::Info
- Default to
VerbosityFilter::Off
(no logging) - Default to
VerbosityFilter::Trace
- Logging flags to
#[command(flatten)]
into your CLI - Default to
VerbosityFilter::Warn
Enums§
- A representation of the log level filter.
Traits§
- Customize the default log-level and associated help