### Question:
Slf4jLogProvider implements LogProvider { @Override public Log getLog( Class loggingClass ) { return new Slf4jLog( loggerFactory.getLogger( loggingClass.getName() ) ); } Slf4jLogProvider();  Slf4jLogProvider( ILoggerFactory loggerFactory ); @Override Log getLog( Class loggingClass ); @Override Log getLog( String context );  }### Answer:
@Test void shouldLogDebug() { Log log = logProvider.getLog( getClass() ); log.debug( "Holy debug batman!" ); assertLogOccurred( Level.DEBUG, "Holy debug batman!" ); }
@Test void shouldLogInfo() { Log log = logProvider.getLog( getClass() ); log.info( "Holy info batman!" ); assertLogOccurred( Level.INFO, "Holy info batman!" ); }
@Test void shouldLogWarning() { Log log = logProvider.getLog( getClass() ); log.warn( "Holy warning batman!" ); assertLogOccurred( Level.WARN, "Holy warning batman!" ); }
@Test void shouldLogError() { Log log = logProvider.getLog( getClass() ); log.error( "Holy error batman!" ); assertLogOccurred( Level.ERROR, "Holy error batman!" ); }