|
|
|
@ -21,6 +21,7 @@ import java.lang.reflect.Field;
|
|
|
|
|
import java.lang.reflect.Modifier;
|
|
|
|
|
import java.nio.charset.Charset;
|
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
|
import java.nio.file.Path;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.EnumSet;
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
@ -87,6 +88,7 @@ import static org.mockito.Mockito.times;
|
|
|
|
|
* @author Robert Thornton
|
|
|
|
|
* @author Eddú Meléndez
|
|
|
|
|
* @author Scott Frederick
|
|
|
|
|
* @author Moritz Halbritter
|
|
|
|
|
*/
|
|
|
|
|
@ExtendWith(OutputCaptureExtension.class)
|
|
|
|
|
class LogbackLoggingSystemTests extends AbstractLoggingSystemTests {
|
|
|
|
@ -706,6 +708,29 @@ class LogbackLoggingSystemTests extends AbstractLoggingSystemTests {
|
|
|
|
|
.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) {
|
|
|
|
|
this.loggingSystem.getSystemProperties((ConfigurableEnvironment) context.getEnvironment()).apply(logFile);
|
|
|
|
|
this.loggingSystem.initialize(context, configLocation, logFile);
|
|
|
|
|