diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2017-07-13 16:09:41 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2017-07-13 16:09:41 +0200 |
| commit | f5a69fb98a891107522fb9507cc3d98de5551325 (patch) | |
| tree | ecb7bcc0ae6594546ee8c64fc77f2e57a31123b9 /mullvad_daemon/src/cli.rs | |
| parent | 7c265e30b3a3a19cc2bf931b7d41fe62ae701803 (diff) | |
| download | mullvadvpn-f5a69fb98a891107522fb9507cc3d98de5551325.tar.xz mullvadvpn-f5a69fb98a891107522fb9507cc3d98de5551325.zip | |
Add clap and parse verbosity argument
Diffstat (limited to 'mullvad_daemon/src/cli.rs')
| -rw-r--r-- | mullvad_daemon/src/cli.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mullvad_daemon/src/cli.rs b/mullvad_daemon/src/cli.rs new file mode 100644 index 0000000000..cdc2f5fd81 --- /dev/null +++ b/mullvad_daemon/src/cli.rs @@ -0,0 +1,32 @@ +use clap::{App, Arg}; +use log; + +pub struct Config { + pub log_level: log::LogLevelFilter, +} + +pub fn get_config() -> Config { + let app = create_app(); + let matches = app.get_matches(); + + let log_level = match matches.occurrences_of("v") { + 0 => log::LogLevelFilter::Info, + 1 => log::LogLevelFilter::Debug, + _ => log::LogLevelFilter::Trace, + }; + + Config { + log_level, + } +} + +fn create_app() -> App<'static, 'static> { + App::new("mullvadd") + .version(crate_version!()) + .author(crate_authors!()) + .about(crate_description!()) + .arg(Arg::with_name("v") + .short("v") + .multiple(true) + .help("Sets the level of verbosity.")) +} |
