Package ca.uhn.test.util
Class LogbackCaptureTestExtension
java.lang.Object
ca.uhn.test.util.LogbackCaptureTestExtension
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterEachCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension
public class LogbackCaptureTestExtension
extends Object
implements org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback
Test helper to collect logback lines.
The empty constructor will capture all log events, or you can name a log root to limit the noise.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA Hamcrest matcher for junit assertions. -
Constructor Summary
ConstructorsConstructorDescriptionCapture the root logger - all lines.LogbackCaptureTestExtension(ch.qos.logback.classic.Logger theLogger) LogbackCaptureTestExtension(ch.qos.logback.classic.Logger theLogger, ch.qos.logback.classic.Level theTestLogLevel) LogbackCaptureTestExtension(String theLoggerName) LogbackCaptureTestExtension(String theLoggerName, ch.qos.logback.classic.Level theLevel) -
Method Summary
Modifier and TypeMethodDescriptionvoidafterEach(org.junit.jupiter.api.extension.ExtensionContext context) voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context) voidClear accumulated log events.static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent>eventWithLevel(ch.qos.logback.classic.Level theLevel) static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent>eventWithLevelAndMessageContains(ch.qos.logback.classic.Level theLevel, String thePartialMessage) static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent>eventWithMessageContains(String thePartialMessage) List<ch.qos.logback.classic.spi.ILoggingEvent>filterLoggingEventsWithMessageContaining(String theMessageText) List<ch.qos.logback.classic.spi.ILoggingEvent>filterLoggingEventsWithMessageEqualTo(String theMessageText) List<ch.qos.logback.classic.spi.ILoggingEvent>filterLoggingEventsWithPredicate(Predicate<ch.qos.logback.classic.spi.ILoggingEvent> theLoggingEventPredicate) ch.qos.logback.core.read.ListAppender<ch.qos.logback.classic.spi.ILoggingEvent>List<ch.qos.logback.classic.spi.ILoggingEvent>Returns a copy to avoid concurrent modification errors.voidsetUp()Guts of beforeEach exposed for manual lifecycle.
-
Constructor Details
-
LogbackCaptureTestExtension
- Parameters:
theLogger- the log to capture
-
LogbackCaptureTestExtension
public LogbackCaptureTestExtension(ch.qos.logback.classic.Logger theLogger, ch.qos.logback.classic.Level theTestLogLevel) - Parameters:
theLogger- the log to capturetheTestLogLevel- the log Level to set on the target logger for the duration of the test
-
LogbackCaptureTestExtension
- Parameters:
theLoggerName- the log name to capture
-
LogbackCaptureTestExtension
public LogbackCaptureTestExtension()Capture the root logger - all lines. -
LogbackCaptureTestExtension
-
-
Method Details
-
getLogEvents
Returns a copy to avoid concurrent modification errors.- Returns:
- A copy of the log events so far.
-
clearEvents
Clear accumulated log events. -
getAppender
public ch.qos.logback.core.read.ListAppender<ch.qos.logback.classic.spi.ILoggingEvent> getAppender() -
beforeEach
- Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback- Throws:
Exception
-
setUp
Guts of beforeEach exposed for manual lifecycle. -
afterEach
- Specified by:
afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback- Throws:
Exception
-
filterLoggingEventsWithMessageEqualTo
public List<ch.qos.logback.classic.spi.ILoggingEvent> filterLoggingEventsWithMessageEqualTo(String theMessageText) -
filterLoggingEventsWithMessageContaining
public List<ch.qos.logback.classic.spi.ILoggingEvent> filterLoggingEventsWithMessageContaining(String theMessageText) -
filterLoggingEventsWithPredicate
public List<ch.qos.logback.classic.spi.ILoggingEvent> filterLoggingEventsWithPredicate(Predicate<ch.qos.logback.classic.spi.ILoggingEvent> theLoggingEventPredicate) -
eventWithLevelAndMessageContains
public static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> eventWithLevelAndMessageContains(@Nonnull ch.qos.logback.classic.Level theLevel, @Nonnull String thePartialMessage) -
eventWithLevel
public static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> eventWithLevel(@Nonnull ch.qos.logback.classic.Level theLevel) -
eventWithMessageContains
public static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> eventWithMessageContains(@Nonnull String thePartialMessage)
-