Skip to content

Commit 282c310

Browse files
committed
logging: make it configurable via new -v argument
1 parent 405247c commit 282c310

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

src/main.rs

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ struct Args {
3939
)]
4040
input_format: nfa::InputFormat,
4141

42+
#[arg(
43+
short = 'v',
44+
long = "verbose",
45+
action = clap::ArgAction::Count,
46+
help = "Increase verbosity level (use multiple times for more verbose output)"
47+
)]
48+
verbosity: u8,
49+
4250
#[arg(
4351
value_enum,
4452
short = 't',
@@ -76,19 +84,21 @@ struct Args {
7684
}
7785

7886
fn main() {
79-
#[cfg(debug_assertions)]
80-
env_logger::Builder::new()
81-
.filter_level(LevelFilter::Debug)
82-
.init();
83-
84-
#[cfg(not(debug_assertions))]
85-
env_logger::Builder::new()
86-
.filter_level(LevelFilter::Info)
87-
.init();
8887

8988
// parse CLI arguments
9089
let args = Args::parse();
9190

91+
// set up logging
92+
let mut builder = env_logger::Builder::new();
93+
94+
match &args.verbosity {
95+
0 => builder.filter_level(LevelFilter::Warn),
96+
1 => builder.filter_level(LevelFilter::Info),
97+
2 => builder.filter_level(LevelFilter::Debug),
98+
_ => builder.filter_level(LevelFilter::Trace),
99+
};
100+
builder.init();
101+
92102
// parse the input file
93103
let nfa = nfa::Nfa::load_from_file(&args.filename, &args.input_format, &args.state_ordering);
94104

0 commit comments

Comments
 (0)