X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ff6b733cd0448c05f4be5aad32895cc8c748ee79..8d55dfb66bc0dfbd2b601a27075f2876cde918e3:/src/main/java/org/asamk/signal/Main.java diff --git a/src/main/java/org/asamk/signal/Main.java b/src/main/java/org/asamk/signal/Main.java index 14bdc4c9..00d9d7a9 100644 --- a/src/main/java/org/asamk/signal/Main.java +++ b/src/main/java/org/asamk/signal/Main.java @@ -24,9 +24,11 @@ import net.sourceforge.argparse4j.inf.Namespace; import org.asamk.signal.commands.exceptions.CommandException; import org.asamk.signal.commands.exceptions.IOErrorException; +import org.asamk.signal.commands.exceptions.RateLimitErrorException; import org.asamk.signal.commands.exceptions.UnexpectedErrorException; import org.asamk.signal.commands.exceptions.UntrustedKeyErrorException; import org.asamk.signal.commands.exceptions.UserErrorException; +import org.asamk.signal.logging.LogConfigurator; import org.asamk.signal.manager.ManagerLogger; import org.asamk.signal.util.SecurityProvider; import org.bouncycastle.jce.provider.BouncyCastleProvider; @@ -47,7 +49,8 @@ public class Main { final var nsLog = parseArgs(args); final var verboseLevel = nsLog == null ? 0 : nsLog.getInt("verbose"); final var logFile = nsLog == null ? null : nsLog.get("log-file"); - configureLogging(verboseLevel, logFile); + final var scrubLog = nsLog != null && nsLog.getBoolean("scrub-log"); + configureLogging(verboseLevel, logFile, scrubLog); var parser = App.buildArgumentParser(); @@ -80,8 +83,9 @@ public class Main { .includeArgumentNamesAsKeysInResult(true) .build() .defaultHelp(false); - parser.addArgument("--verbose").action(Arguments.count()); + parser.addArgument("-v", "--verbose").action(Arguments.count()); parser.addArgument("--log-file").type(File.class); + parser.addArgument("--scrub-log").action(Arguments.storeTrue()); try { return parser.parseKnownArgs(args, null); @@ -90,9 +94,10 @@ public class Main { } } - private static void configureLogging(final int verboseLevel, final File logFile) { + private static void configureLogging(final int verboseLevel, final File logFile, final boolean scrubLog) { LogConfigurator.setVerboseLevel(verboseLevel); LogConfigurator.setLogFile(logFile); + LogConfigurator.setScrubSensitiveInformation(scrubLog); if (verboseLevel > 0) { java.util.logging.Logger.getLogger("") @@ -104,16 +109,13 @@ public class Main { } private static int getStatusForError(final CommandException e) { - if (e instanceof UserErrorException) { - return 1; - } else if (e instanceof UnexpectedErrorException) { - return 2; - } else if (e instanceof IOErrorException) { - return 3; - } else if (e instanceof UntrustedKeyErrorException) { - return 4; - } else { - return 2; - } + return switch (e) { + case UserErrorException userErrorException -> 1; + case UnexpectedErrorException unexpectedErrorException -> 2; + case IOErrorException ioErrorException -> 3; + case UntrustedKeyErrorException untrustedKeyErrorException -> 4; + case RateLimitErrorException rateLimitErrorException -> 5; + case null, default -> 2; + }; } }