Merge branch 'gh-3628' into 1.2.x

This commit is contained in:
Andy Wilkinson 2015-08-03 16:23:47 +01:00
commit acfb07bdd6
2 changed files with 20 additions and 1 deletions

View File

@ -246,13 +246,20 @@ public class LoggingApplicationListener implements SmartApplicationListener {
name = null;
}
level = environment.resolvePlaceholders(level);
system.setLogLevel(name, LogLevel.valueOf(level.toUpperCase()));
system.setLogLevel(name, coerceLogLevel(level));
}
catch (RuntimeException ex) {
this.logger.error("Cannot set level: " + level + " for '" + name + "'");
}
}
private LogLevel coerceLogLevel(String level) {
if ("false".equalsIgnoreCase(level)) {
return LogLevel.OFF;
}
return LogLevel.valueOf(level.toUpperCase());
}
public void setOrder(int order) {
this.order = order;
}

View File

@ -258,6 +258,18 @@ public class LoggingApplicationListenerTests {
assertThat(this.outputCapture.toString(), not(containsString("testatfatal")));
}
@Test
public void parseLevelsMapsFalseToOff() throws Exception {
EnvironmentTestUtils.addEnvironment(this.context,
"logging.level.org.springframework.boot=false");
this.initializer.initialize(this.context.getEnvironment(),
this.context.getClassLoader());
this.logger.debug("testatdebug");
this.logger.fatal("testatfatal");
assertThat(this.outputCapture.toString(), not(containsString("testatdebug")));
assertThat(this.outputCapture.toString(), not(containsString("testatfatal")));
}
@Test
public void parseArgsDisabled() throws Exception {
this.initializer.setParseArgs(false);