Skip to content
This repository has been archived by the owner on Jan 28, 2022. It is now read-only.
/ clap-log-flag Public archive

Add a logger to CLIs using structopt

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

clap-rs/clap-log-flag

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 <[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

Installation

$ cargo add clap-log-flag

License

MIT OR Apache-2.0

About

Add a logger to CLIs using structopt

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages