diff --git a/bin/dunitrust-server/src/cli.rs b/bin/dunitrust-server/src/cli.rs index 4e0ca9cae139e5ef739ca52359548bb0482baf95..eaf19610002b9078647a2a47b2df7d3c017f4834 100644 --- a/bin/dunitrust-server/src/cli.rs +++ b/bin/dunitrust-server/src/cli.rs @@ -33,6 +33,11 @@ use log::Level; use std::path::PathBuf; use structopt::StructOpt; +// Default log level is "info". +const LOG_LEVEL_DEFAULT: usize = 2; + +static LOG_LEVEL_NAMES: [&str; 5] = ["error", "warn", "info", "debug", "trace"]; + #[derive(StructOpt, Debug)] #[structopt(name = "durs", setting(structopt::clap::AppSettings::ColoredHelp))] /// Dunitrust command line options @@ -46,10 +51,9 @@ pub struct DursCliOpt { /// Keypairs file path #[structopt(long = "keypairs-file", parse(from_os_str))] keypairs_file: Option<PathBuf>, - /// Set log level. (Defaults to INFO). - /// Available levels: [ERROR, WARN, INFO, DEBUG, TRACE] - #[structopt(short = "l", long = "logs", next_line_help = true)] - logs_level: Option<Level>, + /// Change logs level. + #[structopt(short = "l", long = "logs", default_value = LOG_LEVEL_NAMES[LOG_LEVEL_DEFAULT], possible_values = &LOG_LEVEL_NAMES)] + logs_level: Level, /// Print logs in standard output #[structopt(long = "log-stdout")] log_stdout: bool, diff --git a/lib/core/core/src/commands/mod.rs b/lib/core/core/src/commands/mod.rs index 0c51c03b966fd3f6b16bfcddd3bc0542702d61b1..44676b1610f5ceb7b03e98b6d040f10d4199b013 100644 --- a/lib/core/core/src/commands/mod.rs +++ b/lib/core/core/src/commands/mod.rs @@ -40,7 +40,7 @@ pub struct DursCoreOptions { /// Keypairs file path pub keypairs_file: Option<PathBuf>, /// Set log level. - pub logs_level: Option<Level>, + pub logs_level: Level, /// Print logs in standard output pub log_stdout: bool, /// Set a custom user profile name diff --git a/lib/core/core/src/logger.rs b/lib/core/core/src/logger.rs index 334d7142f8bd23fd4df5851d4e2e0262172f0136..b5f57123d8fe14b025a196dcc57d2094c382871d 100644 --- a/lib/core/core/src/logger.rs +++ b/lib/core/core/src/logger.rs @@ -66,10 +66,7 @@ pub fn init( } // Get log level filter - let logs_level_filter = durs_core_opts - .logs_level - .unwrap_or(Level::Info) - .to_level_filter(); + let logs_level_filter = durs_core_opts.logs_level.to_level_filter(); // Config loggers let loggers_common_config = fern::Dispatch::new()