Browse Source

Merge branch '1.2.x'

pull/3567/merge
Andy Wilkinson 11 years ago
parent
commit
ea85e0d0b0
  1. 24
      spring-boot/src/main/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystem.java
  2. 14
      spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java

24
spring-boot/src/main/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystem.java

@ -125,13 +125,13 @@ public class Log4J2LoggingSystem extends Slf4JLoggingSystem { @@ -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 { @@ -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() {

14
spring-boot/src/test/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystemTests.java

@ -36,12 +36,13 @@ import org.springframework.util.StringUtils; @@ -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 { @@ -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