X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ff6b733cd0448c05f4be5aad32895cc8c748ee79..33c4e17c0d295d437438f6e1d8fbfd1ae6640f3c:/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..0a30d202 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("") @@ -112,6 +117,8 @@ public class Main { return 3; } else if (e instanceof UntrustedKeyErrorException) { return 4; + } else if (e instanceof RateLimitErrorException) { + return 5; } else { return 2; }