- private static int getVerboseLevel(String[] args) {
- var parser = ArgumentParsers.newFor("signal-cli").build().defaultHelp(false);
- parser.addArgument("--verbose").action(Arguments.count());
+ private static LoggingConfig parseLoggingConfig(final String[] args) {
+ final var nsLog = parseArgs(args);
+ if (nsLog == null) {
+ return new LoggingConfig(0, null, false);
+ }
+
+ final var verboseLevel = nsLog.getInt("verbose");
+ final var logFile = nsLog.<File>get("log-file");
+ final var scrubLog = nsLog.getBoolean("scrub-log");
+ return new LoggingConfig(verboseLevel, logFile, scrubLog);
+ }
+
+ /**
+ * This method only parses commandline args relevant for logging configuration.
+ */
+ private static Namespace parseArgs(String[] args) {
+ var parser = ArgumentParsers.newFor("signal-cli", DefaultSettings.VERSION_0_9_0_DEFAULT_SETTINGS)
+ .includeArgumentNamesAsKeysInResult(true)
+ .build()
+ .defaultHelp(false);
+ parser.addArgument("-v", "--verbose").action(Arguments.count());
+ parser.addArgument("--log-file").type(File.class);
+ parser.addArgument("--scrub-log").action(Arguments.storeTrue());