Merge branch '1.2.x'

pull/3567/merge
Andy Wilkinson 9 years ago
commit ea85e0d0b0

@ -125,13 +125,13 @@ public class Log4J2LoggingSystem extends Slf4JLoggingSystem {
@Override @Override
public void beforeInitialize() { public void beforeInitialize() {
super.beforeInitialize(); super.beforeInitialize();
getLoggerConfig(null).addFilter(FILTER); getRootLoggerConfig().addFilter(FILTER);
} }
@Override @Override
public void initialize(LoggingInitializationContext initializationContext, public void initialize(LoggingInitializationContext initializationContext,
String configLocation, LogFile logFile) { String configLocation, LogFile logFile) {
getLoggerConfig(null).removeFilter(FILTER); getRootLoggerConfig().removeFilter(FILTER);
super.initialize(initializationContext, configLocation, logFile); super.initialize(initializationContext, configLocation, logFile);
} }
@ -183,15 +183,25 @@ public class Log4J2LoggingSystem extends Slf4JLoggingSystem {
} }
@Override @Override
public void setLogLevel(String loggerName, LogLevel level) { public void setLogLevel(String loggerName, LogLevel logLevel) {
getLoggerConfig(loggerName).setLevel(LEVELS.get(level)); Level level = LEVELS.get(logLevel);
LoggerConfig loggerConfig = getLoggerConfig(loggerName);
if (loggerConfig == null) {
loggerConfig = new LoggerConfig(loggerName, level, true);
getLoggerContext().getConfiguration().addLogger(loggerName, loggerConfig);
}
else {
loggerConfig.setLevel(level);
}
getLoggerContext().updateLoggers(); getLoggerContext().updateLoggers();
} }
private LoggerConfig getRootLoggerConfig() {
return getLoggerContext().getConfiguration().getLoggerConfig("");
}
private LoggerConfig getLoggerConfig(String loggerName) { private LoggerConfig getLoggerConfig(String loggerName) {
LoggerConfig loggerConfig = getLoggerContext().getConfiguration() return getLoggerContext().getConfiguration().getLoggers().get(loggerName);
.getLoggerConfig(loggerName == null ? "" : loggerName);
return loggerConfig;
} }
private LoggerContext getLoggerContext() { private LoggerContext getLoggerContext() {

@ -36,12 +36,13 @@ import org.springframework.util.StringUtils;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.Matchers.arrayContaining; import static org.hamcrest.Matchers.arrayContaining;
import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.core.StringContains.containsString;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
@ -130,6 +131,17 @@ public class Log4J2LoggingSystemTests extends AbstractLoggingSystemTests {
equalTo(1)); equalTo(1));
} }
@Test
public void setLevelOfUnconfiguredLoggerDoesNotAffectRootConfiguration()
throws Exception {
this.loggingSystem.beforeInitialize();
this.loggingSystem.initialize(null, null, null);
LogManager.getRootLogger().debug("Hello");
this.loggingSystem.setLogLevel("foo.bar.baz", LogLevel.DEBUG);
LogManager.getRootLogger().debug("Hello");
assertThat(this.output.toString(), not(containsString("Hello")));
}
@Test @Test
@Ignore("Fails on Bamboo") @Ignore("Fails on Bamboo")
public void loggingThatUsesJulIsCaptured() { public void loggingThatUsesJulIsCaptured() {

Loading…
Cancel
Save