logback 구현체를 통해서 appender를 추가해서 테스트를 진행할 수 있다. ListAppender
를 사용하면 로깅 내용을 메모리로 저장할 수 있다.
class ReflectionsTest {
private static final Logger log = (Logger) LoggerFactory.getLogger(ReflectionsTest.class);
private static final ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
static {
listAppender.setContext((LoggerContext) LoggerFactory.getILoggerFactory());
log.setLevel(Level.DEBUG);
log.addAppender(listAppender);
listAppender.start();
}
@Test
void someTest() {
//...
assertThat(result).contains("[DEBUG] examples.QnaController", "[DEBUG] examples.MyQnaService", "[DEBUG] examples.JdbcUserRepository",
"[DEBUG] examples.JdbcQuestionRepository");
}
}