@Test
public void traceDelegatesProperly() {

    // given
    String expectedMessage = UUID.randomUUID().toString();
    AbstractLogger logger = mock(AbstractLogger.class);
    Logger wrapper = new Log4j2StatusLoggerWrapper(logger);
    String arg1 = UUID.randomUUID().toString();
    String arg2 = UUID.randomUUID().toString();
    // when
    wrapper.trace(expectedMessage, arg1, arg2);
    // then
    ArgumentCaptor<Object[]> captor = ArgumentCaptor.forClass(Object[].class);
    verify(logger).trace(eq(expectedMessage), captor.capture());
    assertEquals(arg1, captor.getAllValues().get(0));
    assertEquals(arg2, captor.getAllValues().get(1));
}