From 0378107d9ec54dd1798e2317529db90037dae122 Mon Sep 17 00:00:00 2001 From: Darko Filipovski Date: Wed, 4 Sep 2024 10:21:53 +0200 Subject: [PATCH] [#98] Reset logger context to ensure that no appenders are present in the Logback's logger tree * Currently, the ROOT logger has a ConsoleAppender attached, which introduces side effects affecting the RetainingAppender tests --- .../girders/logging/RetainingAppenderTest.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/girders-libs/girders-logging/src/test/java/com/netcetera/girders/logging/RetainingAppenderTest.java b/girders-libs/girders-logging/src/test/java/com/netcetera/girders/logging/RetainingAppenderTest.java index 1c81e012..7fa2e94c 100644 --- a/girders-libs/girders-logging/src/test/java/com/netcetera/girders/logging/RetainingAppenderTest.java +++ b/girders-libs/girders-logging/src/test/java/com/netcetera/girders/logging/RetainingAppenderTest.java @@ -28,6 +28,9 @@ class RetainingAppenderTest { @BeforeEach void init() { LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); + // Resetting the context is necessary because Logback's BasicConfigurator initializes a ConsoleAppender which + // introduces unexpected side effects. + context.reset(); // loggers ch.qos.logback.classic.Logger logger = context.getLogger(TEST_APPENDER_NAME); @@ -85,10 +88,6 @@ void shouldRetainDebugAndTraceEvents() { assertThat(appenderContent, not(containsString("DEBUG" + suffix))); } - private String getBufferAppenderContent() { - return bufferingAppender.dumpCsv(); - } - @Test void shouldDumpDebugEventOnceErrorOccurred() { // given testLogger setup plus... @@ -115,7 +114,7 @@ void shouldDumpDebugEventOnceErrorOccurred() { } @Test - void shouldSupportAppenderAttacheableMethods() { + void shouldSupportAppenderAttachableMethods() { RetainingAppender retainingAppender = new RetainingAppender(); assertThat(retainingAppender.iteratorForAppenders().hasNext(), is(false)); assertThat(retainingAppender.isAttached(bufferingAppender), is(false)); @@ -152,4 +151,8 @@ void shouldSupportAppenderAttacheableMethods() { assertThat(retainingAppender.getAppender(TEST_APPENDER_NAME), is(nullValue())); } + private String getBufferAppenderContent() { + return bufferingAppender.dumpCsv(); + } + }