Add a logger to CLIs using structopt.
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(())
}
clap-log-flag 0.1.0
Yoshua Wuyts <[email protected]>
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
$ cargo add clap-log-flag
MIT OR Apache-2.0