]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/logging/LogConfigurator.java
Update dependencies
[signal-cli] / src / main / java / org / asamk / signal / logging / LogConfigurator.java
index 8571aff9ade3166fcd40eb7310fcd85d3d127229..f6e23b70cc091eb6eb24caa4fdc15e000e56a541 100644 (file)
@@ -6,10 +6,10 @@ 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;
-import ch.qos.logback.core.Context;
 import ch.qos.logback.core.FileAppender;
 import ch.qos.logback.core.Layout;
 import ch.qos.logback.core.encoder.LayoutWrappingEncoder;
@@ -36,11 +36,13 @@ public class LogConfigurator extends ContextAwareBase implements Configurator {
     }
 
     @Override
-    public ExecutionStatus configure(final Context context) {
-        LoggerContext lc = (LoggerContext) context;
+    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
@@ -49,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<>() {