    @Test
    public void loggingAccordingToLevel() {

        // Fixture
        LoggerChannel loggerTrace = mock(LoggerChannel.class);
        LoggerChannel loggerInfo = mock(LoggerChannel.class);
        LoggerChannel loggerError = mock(LoggerChannel.class);
        PluggableLoggerFactory factory = new PluggableLoggerFactory();
        factory.addLogger(loggerInfo, Level.INFO);
        factory.addLogger(loggerError, Level.ERROR);
        factory.addLogger(loggerTrace, Level.TRACE);
        Logger logger = factory.getLogger("test");
        // Test
        logger.error("test");
        logger.info("test");
        logger.trace("test");
        // Assert
        verify(loggerTrace, times(3)).log(Mockito.any(Level.class), anyString(), Mockito.any(Marker.class), anyString(), Mockito.any(Throwable.class));
        verify(loggerInfo, times(2)).log(Mockito.any(Level.class), anyString(), Mockito.any(Marker.class), anyString(), Mockito.any(Throwable.class));
        verify(loggerError, times(1)).log(Mockito.any(Level.class), anyString(), Mockito.any(Marker.class), anyString(), Mockito.any(Throwable.class));
    }