X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/c852bd8a85f93385d34df634e680704ec68d5b00..f2005593ecefd37c7e1666c2dc0c71b259271af0:/src/main/java/org/asamk/signal/logging/LogConfigurator.java diff --git a/src/main/java/org/asamk/signal/logging/LogConfigurator.java b/src/main/java/org/asamk/signal/logging/LogConfigurator.java index 114ad5ff..2ee7b5f0 100644 --- a/src/main/java/org/asamk/signal/logging/LogConfigurator.java +++ b/src/main/java/org/asamk/signal/logging/LogConfigurator.java @@ -6,6 +6,7 @@ import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.PatternLayout; +import ch.qos.logback.classic.jul.LevelChangePropagator; import ch.qos.logback.classic.spi.Configurator; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.ConsoleAppender; @@ -34,10 +35,14 @@ public class LogConfigurator extends ContextAwareBase implements Configurator { LogConfigurator.scrubSensitiveInformation = scrubSensitiveInformation; } + @Override public ExecutionStatus configure(LoggerContext lc) { + lc.addListener(new LevelChangePropagator() {{ + setContext(lc); + }}); final var rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME); - final var defaultLevel = verboseLevel > 1 ? Level.ALL : verboseLevel > 0 ? Level.INFO : Level.WARN; + final var defaultLevel = verboseLevel > 2 ? Level.TRACE : verboseLevel > 0 ? Level.INFO : Level.WARN; rootLogger.setLevel(defaultLevel); final var consoleLayout = verboseLevel == 0 || logFile != null @@ -46,7 +51,14 @@ public class LogConfigurator extends ContextAwareBase implements Configurator { final var consoleAppender = createLoggingConsoleAppender(lc, createLayoutWrappingEncoder(consoleLayout)); rootLogger.addAppender(consoleAppender); - lc.getLogger("org.asamk").setLevel(verboseLevel > 1 ? Level.ALL : verboseLevel > 0 ? Level.DEBUG : Level.INFO); + lc.getLogger("org.asamk") + .setLevel(verboseLevel > 1 ? Level.TRACE : verboseLevel > 0 ? Level.DEBUG : Level.INFO); + lc.getLogger("org.asamk.Signal") + .setLevel(verboseLevel > 2 ? Level.TRACE : verboseLevel > 1 ? Level.INFO : Level.WARN); + lc.getLogger("com.zaxxer.hikari.pool.PoolBase") + .setLevel(verboseLevel > 2 ? Level.TRACE : verboseLevel > 1 ? Level.INFO : Level.WARN); + lc.getLogger("org.sqlite.core.NativeDB") + .setLevel(verboseLevel > 3 ? Level.TRACE : verboseLevel > 1 ? Level.INFO : Level.WARN); if (logFile != null) { consoleAppender.addFilter(new Filter<>() { @@ -71,7 +83,8 @@ public class LogConfigurator extends ContextAwareBase implements Configurator { } private ConsoleAppender createLoggingConsoleAppender( - final LoggerContext lc, final LayoutWrappingEncoder layoutEncoder + final LoggerContext lc, + final LayoutWrappingEncoder layoutEncoder ) { return new ConsoleAppender<>() {{ setContext(lc); @@ -83,7 +96,8 @@ public class LogConfigurator extends ContextAwareBase implements Configurator { } private FileAppender createLoggingFileAppender( - final LoggerContext lc, final LayoutWrappingEncoder layoutEncoder + final LoggerContext lc, + final LayoutWrappingEncoder layoutEncoder ) { return new FileAppender<>() {{ setContext(lc);