]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/logging/LogConfigurator.java
Reformat files
[signal-cli] / src / main / java / org / asamk / signal / logging / LogConfigurator.java
index 8571aff9ade3166fcd40eb7310fcd85d3d127229..2ee7b5f0efa6f413a951230c118c16ec8dbb68ab 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<>() {
@@ -74,7 +83,8 @@ public class LogConfigurator extends ContextAwareBase implements Configurator {
     }
 
     private ConsoleAppender<ILoggingEvent> createLoggingConsoleAppender(
-            final LoggerContext lc, final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
+            final LoggerContext lc,
+            final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
     ) {
         return new ConsoleAppender<>() {{
             setContext(lc);
@@ -86,7 +96,8 @@ public class LogConfigurator extends ContextAwareBase implements Configurator {
     }
 
     private FileAppender<ILoggingEvent> createLoggingFileAppender(
-            final LoggerContext lc, final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
+            final LoggerContext lc,
+            final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
     ) {
         return new FileAppender<>() {{
             setContext(lc);