*/
package org.sonar.ce.log;
+import ch.qos.logback.classic.Level;
import org.sonar.process.ProcessId;
import org.sonar.process.logging.LogDomain;
import org.sonar.process.logging.LogLevelConfig;
logLevelConfigBuilder.levelByDomain("sql", ProcessId.COMPUTE_ENGINE, LogDomain.SQL);
logLevelConfigBuilder.levelByDomain("es", ProcessId.COMPUTE_ENGINE, LogDomain.ES);
JMX_RMI_LOGGER_NAMES.forEach(loggerName -> logLevelConfigBuilder.levelByDomain(loggerName, ProcessId.COMPUTE_ENGINE, LogDomain.JMX));
+ MSQDRIVER_LOGGER_NAMES_TO_TURN_OFF.forEach(loggerName -> logLevelConfigBuilder.immutableLevel(loggerName, Level.OFF));
}
@Override
"sun.rmi.transport.misc",
"sun.rmi.server.call",
"sun.rmi.dgc");
+ protected static final Set<String> MSQDRIVER_LOGGER_NAMES_TO_TURN_OFF = ImmutableSet.of(
+ "com.microsoft.sqlserver.jdbc.internals",
+ "com.microsoft.sqlserver.jdbc.ResultSet",
+ "com.microsoft.sqlserver.jdbc.Statement",
+ "com.microsoft.sqlserver.jdbc.Connection");
private final ProcessId processId;
private final String threadIdFieldPattern;
private final LogbackHelper helper = new LogbackHelper();
*/
package org.sonar.server.app;
+import ch.qos.logback.classic.Level;
import java.util.logging.LogManager;
import org.slf4j.bridge.SLF4JBridgeHandler;
import org.sonar.process.ProcessId;
logLevelConfigBuilder.offUnlessTrace("org.apache.catalina.core.ContainerBase");
logLevelConfigBuilder.offUnlessTrace("org.apache.catalina.core.StandardContext");
logLevelConfigBuilder.offUnlessTrace("org.apache.catalina.core.StandardService");
+
+ MSQDRIVER_LOGGER_NAMES_TO_TURN_OFF.forEach(loggerName -> logLevelConfigBuilder.immutableLevel(loggerName, Level.OFF));
}
@Override
import java.io.File;
import java.io.IOException;
import java.util.Properties;
+import java.util.stream.Stream;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Rule;
verifyImmutableLogLevels(context);
}
+ @Test
+ public void configure_turns_off_some_MsSQL_driver_logger() {
+ LoggerContext context = underTest.configure(props);
+
+ Stream.of("com.microsoft.sqlserver.jdbc.internals",
+ "com.microsoft.sqlserver.jdbc.ResultSet",
+ "com.microsoft.sqlserver.jdbc.Statement",
+ "com.microsoft.sqlserver.jdbc.Connection")
+ .forEach(loggerName -> assertThat(context.getLogger(loggerName).getLevel()).isEqualTo(Level.OFF));
+ }
+
private void verifyRootLogLevel(LoggerContext ctx, Level expected) {
assertThat(ctx.getLogger(ROOT_LOGGER_NAME).getLevel()).isEqualTo(expected);
}
import java.io.File;
import java.io.IOException;
import java.util.Properties;
+import java.util.stream.Stream;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Rule;
assertThat(context.getLogger("org.apache.catalina.core.StandardService").getLevel()).isNull();
}
+ @Test
+ public void configure_turns_off_some_MsSQL_driver_logger() {
+ LoggerContext context = underTest.configure(props);
+
+ Stream.of("com.microsoft.sqlserver.jdbc.internals",
+ "com.microsoft.sqlserver.jdbc.ResultSet",
+ "com.microsoft.sqlserver.jdbc.Statement",
+ "com.microsoft.sqlserver.jdbc.Connection")
+ .forEach(loggerName -> assertThat(context.getLogger(loggerName).getLevel()).isEqualTo(Level.OFF));
+ }
+
private void verifyRootLogLevel(LoggerContext ctx, Level expected) {
Logger rootLogger = ctx.getLogger(ROOT_LOGGER_NAME);
assertThat(rootLogger.getLevel()).isEqualTo(expected);