Merge pull request #16018 from nosan

* pr/16018:
  Polish "Debug mode is not logging web and sql related loggers"
  Debug mode is not logging web and sql related loggers
This commit is contained in:
Stephane Nicoll 2019-02-27 13:45:13 +01:00
commit 2236e959b6
2 changed files with 18 additions and 8 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -320,12 +320,10 @@ public class LoggingApplicationListener implements GenericApplicationListener {
}
protected void initializeLogLevel(LoggingSystem system, LogLevel level) {
List<String> loggers = LOG_LEVEL_LOGGERS.get(level);
if (loggers != null) {
for (String logger : loggers) {
system.setLogLevel(logger, level);
}
}
LOG_LEVEL_LOGGERS.getOrDefault(level, Collections.emptyList()).stream()
.flatMap((logger) -> DEFAULT_GROUP_LOGGERS
.getOrDefault(logger, Collections.singletonList(logger)).stream())
.forEach((logger) -> system.setLogLevel(logger, level));
}
protected void setLogLevels(LoggingSystem system, Environment environment) {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -262,6 +262,18 @@ public class LoggingApplicationListenerTests {
assertThat(this.outputCapture.toString()).doesNotContain("testattrace");
}
@Test
public void parseDebugArgExpandGroups() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context, "debug");
this.initializer.initialize(this.context.getEnvironment(),
this.context.getClassLoader());
this.logFactory.getInstance("org.springframework.boot.actuate.endpoint.web")
.debug("testdebugwebgroup");
this.logFactory.getInstance("org.hibernate.SQL").debug("testdebugsqlgroup");
assertThat(this.outputCapture.toString()).contains("testdebugwebgroup");
assertThat(this.outputCapture.toString()).contains("testdebugsqlgroup");
}
@Test
public void parseTraceArg() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context, "trace");