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
public void beforeInitialize() {
super.beforeInitialize();
getLoggerConfig(null).addFilter(FILTER);
getRootLoggerConfig().addFilter(FILTER);
}
@Override
public void initialize(LoggingInitializationContext initializationContext,
String configLocation, LogFile logFile) {
getLoggerConfig(null).removeFilter(FILTER);
getRootLoggerConfig().removeFilter(FILTER);
super.initialize(initializationContext, configLocation, logFile);
}
@ -183,15 +183,25 @@ public class Log4J2LoggingSystem extends Slf4JLoggingSystem {
}
@Override
public void setLogLevel(String loggerName, LogLevel level) {
getLoggerConfig(loggerName).setLevel(LEVELS.get(level));
public void setLogLevel(String loggerName, LogLevel logLevel) {
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();
}
private LoggerConfig getRootLoggerConfig() {
return getLoggerContext().getConfiguration().getLoggerConfig("");
}
private LoggerConfig getLoggerConfig(String loggerName) {
LoggerConfig loggerConfig = getLoggerContext().getConfiguration()
.getLoggerConfig(loggerName == null ? "" : loggerName);
return loggerConfig;
return getLoggerContext().getConfiguration().getLoggers().get(loggerName);
}
private LoggerContext getLoggerContext() {

@ -36,12 +36,13 @@ import org.springframework.util.StringUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.Matchers.arrayContaining;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.core.StringContains.containsString;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
@ -130,6 +131,17 @@ public class Log4J2LoggingSystemTests extends AbstractLoggingSystemTests {
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
@Ignore("Fails on Bamboo")
public void loggingThatUsesJulIsCaptured() {

Loading…
Cancel
Save