Skip to content
This repository has been archived by the owner on Jan 28, 2022. It is now read-only.

Latest commit

 

History

History
69 lines (57 loc) · 1.63 KB

README.md

File metadata and controls

69 lines (57 loc) · 1.63 KB

clap-log-flag

crates.io version build status downloads docs.rs docs

Add a logger to CLIs using structopt.

Usage

extern crate clap_log_flag;
#[macro_use]
extern crate log;
extern crate clap_verbosity_flag;
#[macro_use]
extern crate structopt;

use structopt::StructOpt;

#[derive(Debug, StructOpt)]
struct Cli {
  #[structopt(flatten)]
  verbose: clap_verbosity_flag::Verbosity,
  #[structopt(flatten)]
  log: clap_log_flag::Log,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
  let args = Cli::from_args();
  args.log.log_all(args.verbose.log_level())?;
  info!("hello");
  error!("oh no!");
  Ok(())
}

Output

clap-log-flag 0.1.0
Yoshua Wuyts <yoshuawuyts@gmail.com>
Add a logger to CLIs using structopt

USAGE:
    main [FLAGS]

FLAGS:
    -h, --help         Prints help information
    -P, --pretty       Enable pretty printing.
    -V, --version      Prints version information
    -v, --verbosity    Pass many times for more log output

Installation

$ cargo add clap-log-flag

License

MIT OR Apache-2.0