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<>() {
}
private ConsoleAppender<ILoggingEvent> createLoggingConsoleAppender(
- final LoggerContext lc, final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
+ final LoggerContext lc,
+ final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
) {
return new ConsoleAppender<>() {{
setContext(lc);
}
private FileAppender<ILoggingEvent> createLoggingFileAppender(
- final LoggerContext lc, final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
+ final LoggerContext lc,
+ final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder
) {
return new FileAppender<>() {{
setContext(lc);