|
|
|
@ -21,6 +21,7 @@ import java.lang.reflect.Field; |
|
|
|
import java.lang.reflect.Modifier; |
|
|
|
import java.lang.reflect.Modifier; |
|
|
|
import java.nio.charset.Charset; |
|
|
|
import java.nio.charset.Charset; |
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
|
|
|
|
import java.nio.file.Path; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.EnumSet; |
|
|
|
import java.util.EnumSet; |
|
|
|
import java.util.HashSet; |
|
|
|
import java.util.HashSet; |
|
|
|
@ -87,6 +88,7 @@ import static org.mockito.Mockito.times; |
|
|
|
* @author Robert Thornton |
|
|
|
* @author Robert Thornton |
|
|
|
* @author Eddú Meléndez |
|
|
|
* @author Eddú Meléndez |
|
|
|
* @author Scott Frederick |
|
|
|
* @author Scott Frederick |
|
|
|
|
|
|
|
* @author Moritz Halbritter |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@ExtendWith(OutputCaptureExtension.class) |
|
|
|
@ExtendWith(OutputCaptureExtension.class) |
|
|
|
class LogbackLoggingSystemTests extends AbstractLoggingSystemTests { |
|
|
|
class LogbackLoggingSystemTests extends AbstractLoggingSystemTests { |
|
|
|
@ -706,6 +708,29 @@ class LogbackLoggingSystemTests extends AbstractLoggingSystemTests { |
|
|
|
.satisfies((ex) -> assertThat(ex.getCause()).isNotInstanceOf(IllegalArgumentException.class)); |
|
|
|
.satisfies((ex) -> assertThat(ex.getCause()).isNotInstanceOf(IllegalArgumentException.class)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void shouldRespectConsoleThreshold(CapturedOutput output) { |
|
|
|
|
|
|
|
this.environment.setProperty("logging.threshold.console", "warn"); |
|
|
|
|
|
|
|
this.loggingSystem.beforeInitialize(); |
|
|
|
|
|
|
|
initialize(this.initializationContext, null, null); |
|
|
|
|
|
|
|
this.logger.info("Some info message"); |
|
|
|
|
|
|
|
this.logger.warn("Some warn message"); |
|
|
|
|
|
|
|
assertThat(output).doesNotContain("Some info message").contains("Some warn message"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void shouldRespectFileThreshold() { |
|
|
|
|
|
|
|
this.environment.setProperty("logging.threshold.file", "warn"); |
|
|
|
|
|
|
|
this.loggingSystem.beforeInitialize(); |
|
|
|
|
|
|
|
initialize(this.initializationContext, null, getLogFile(null, tmpDir())); |
|
|
|
|
|
|
|
this.logger.info("Some info message"); |
|
|
|
|
|
|
|
this.logger.warn("Some warn message"); |
|
|
|
|
|
|
|
Path file = Path.of(tmpDir(), "spring.log"); |
|
|
|
|
|
|
|
assertThat(file).content(StandardCharsets.UTF_8) |
|
|
|
|
|
|
|
.doesNotContain("Some info message") |
|
|
|
|
|
|
|
.contains("Some warn message"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initialize(LoggingInitializationContext context, String configLocation, LogFile logFile) { |
|
|
|
private void initialize(LoggingInitializationContext context, String configLocation, LogFile logFile) { |
|
|
|
this.loggingSystem.getSystemProperties((ConfigurableEnvironment) context.getEnvironment()).apply(logFile); |
|
|
|
this.loggingSystem.getSystemProperties((ConfigurableEnvironment) context.getEnvironment()).apply(logFile); |
|
|
|
this.loggingSystem.initialize(context, configLocation, logFile); |
|
|
|
this.loggingSystem.initialize(context, configLocation, logFile); |
|
|
|
|