Crate clap_verbosity_flag

Source
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.

Structs§

Enums§

  • An enum representing the available verbosity levels of the logger.
  • An enum representing the available verbosity level filters of the logger.

Traits§

  • Customize the default log-level and associated help