https://github.com/clap-rs/clap-verbosity-flag
Easily add a --verbose flag to CLIs using Clap
https://github.com/clap-rs/clap-verbosity-flag
clap cli rust
Last synced: 6 months ago
JSON representation
Easily add a --verbose flag to CLIs using Clap
- Host: GitHub
- URL: https://github.com/clap-rs/clap-verbosity-flag
- Owner: clap-rs
- License: apache-2.0
- Created: 2018-05-29T08:39:06.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-04-03T10:04:57.000Z (about 1 year ago)
- Last Synced: 2025-05-07T02:25:39.198Z (about 1 year ago)
- Topics: clap, cli, rust
- Language: Rust
- Homepage: https://docs.rs/clap-verbosity-flag
- Size: 301 KB
- Stars: 194
- Watchers: 5
- Forks: 24
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# clap-verbosity-flag for `log` / `tracing`
[][Documentation]

[][Crates.io]
[Crates.io]: https://crates.io/crates/clap-verbosity-flag
[Documentation]: https://docs.rs/clap-verbosity-flag/
Easily add `--verbose` and `--quiet` flags to CLIs using [Clap](http://crates.io/crates/clap).
## Examples
```console
$ cargo add clap-verbosity-flag
```
```rust
use clap::Parser;
#[derive(Debug, Parser)]
struct Cli {
#[command(flatten)]
verbosity: clap_verbosity_flag::Verbosity,
}
fn main() {
let args = Cli::parse();
env_logger::Builder::new()
.filter_level(args.verbosity.into())
.init();
// Your code here
}
```
For [`tracing`](https://crates.io/crates/tracing) support, use the `tracing` feature:
```console
$ cargo add clap-verbosity-flag --no-default-features --features tracing
```
```rust
use clap::Parser;
#[derive(Debug, Parser)]
struct Cli {
#[command(flatten)]
verbosity: clap_verbosity_flag::Verbosity,
}
fn main() {
let args = Cli::parse();
tracing_subscriber::fmt()
.with_max_level(args.verbosity)
.init();
// Your code here
}
```
The default verbosity level will cause `log` / `tracing` to only report errors. The flags can be
specified multiple times to increase or decrease the verbosity level. See the [Documentation] for
info on how to change the default verbosity level.
- silence output: `-q` / `--quiet`
- show warnings: `-v` / `--verbose`
- show info: `-vv` / `--verbose --verbose`
- show debug: `-vvv` / `--verbose --verbose --verbose`
- show trace: `-vvvv` / `--verbose --verbose --verbose --verbose`
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or )
* MIT license ([LICENSE-MIT](LICENSE-MIT) or )
at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual-licensed as above, without any additional terms or
conditions.