Debug mode is not logging web and sql related loggers

See gh-16018
pull/16247/head
Dmytro Nosan 6 years ago committed by Stephane Nicoll
parent 130ef102d8
commit c3430d5883

@ -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.
@ -21,6 +21,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.commons.logging.Log;
@ -320,12 +321,11 @@ 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);
}
}
Optional.ofNullable(LOG_LEVEL_LOGGERS.get(level)).orElse(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) {

@ -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,21 @@ public class LoggingApplicationListenerTests {
assertThat(this.outputCapture.toString()).doesNotContain("testattrace");
}
@Test
public void parseDebugArgExpandGroups() {
addPropertiesToEnvironment(this.context, "debug");
this.initializer.initialize(this.context.getEnvironment(),
this.context.getClassLoader());
ch.qos.logback.classic.Logger sqlGroup = this.loggerContext
.getLogger("org.hibernate.SQL");
ch.qos.logback.classic.Logger webGroup = this.loggerContext
.getLogger("org.springframework.boot.actuate.endpoint.web");
webGroup.debug("testdebugwebgroup");
sqlGroup.debug("testdebugsqlgroup");
assertThat(this.outputCapture.toString()).contains("testdebugwebgroup");
assertThat(this.outputCapture.toString()).contains("testdebugsqlgroup");
}
@Test
public void parseTraceArg() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context, "trace");

Loading…
Cancel
Save