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.
-qsilences output-vshow warnings-vvshow info-vvvshow debug-vvvvshow 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.
Structs§
- Debug
Level - Default to
log::Level::Debug - Error
Level - Default to
log::Level::Error - Info
Level - Default to
log::Level::Info - OffLevel
- Default to no logging (i.e.
Noneorlog::LevelFilter::Off) - Trace
Level - Default to
log::Level::Trace - Verbosity
- Logging flags to
#[command(flatten)]into your CLI - Warn
Level - Default to
log::Level::Warn
Enums§
- Level
- An enum representing the available verbosity levels of the logger.
- Level
Filter - An enum representing the available verbosity level filters of the logger.
Traits§
- LogLevel
- Customize the default log-level and associated help