public class LogbackTemporaryLogAppender
extends org.junit.rules.ExternalResource
A JUnit TestRule to create a temporary log appender and it to Logger for the given class.
The appender will record all log messages.
In order to run it requires an initialized LoggingEnvironment instance as part of the constructor. The LoggingEnvironment must be
initialized before creating the LogbackTemporaryLogAppender. This can be achieved by using an RuleChain (see sample below).
Note: Only logback is supported at the moment as logging framework.
public class FooTest {
public LoggingEnvironment _loggingEnvironment = new LoggingEnvironment(LoggingEnvironment.Type.logback);
public LogbackTemporaryLogAppender _temporaryLogAppender = new LogbackTemporaryLogAppender(_loggingEnvironment, FooTest.class);
@Rule
public TestRule _chain = RuleChain.outerRule(_loggingEnvironment).around(_temporaryLogAppender);
@Test
public void test() {
LoggerFactory.getLogger(getClass()).info("Expected log message");
assertThat(_temporaryLogAppender.toString(), contains("Expected log message"));
}
}
| Constructor and Description |
|---|
LogbackTemporaryLogAppender(LoggingEnvironment loggingEnvironment,
java.lang.Class<?> forLogger) |
LogbackTemporaryLogAppender(LoggingEnvironment loggingEnvironment,
java.lang.String forLogger) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
after() |
protected void |
before() |
java.lang.String |
toString() |
public LogbackTemporaryLogAppender(@Nonnull
LoggingEnvironment loggingEnvironment,
@Nonnull
java.lang.Class<?> forLogger)
public LogbackTemporaryLogAppender(@Nonnull
LoggingEnvironment loggingEnvironment,
@Nonnull
java.lang.String forLogger)
protected void before()
throws java.lang.Throwable
before in class org.junit.rules.ExternalResourcejava.lang.Throwableprotected void after()
after in class org.junit.rules.ExternalResourcepublic java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2015 echocat. All Rights Reserved.