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;
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
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<>() {
@Override
public FilterReply decide(final ILoggingEvent event) {
- return event.getLevel().isGreaterOrEqual(Level.WARN) || (
- event.getLevel().isGreaterOrEqual(Level.INFO) && event.getLoggerName()
- .startsWith("org.asamk")
+ return !"LibSignal".equals(event.getLoggerName()) && (
+ event.getLevel().isGreaterOrEqual(Level.WARN) || (
+ event.getLevel().isGreaterOrEqual(Level.INFO) && event.getLoggerName()
+ .startsWith("org.asamk")
+ )
)
? FilterReply.NEUTRAL : FilterReply.DENY;