private void log(LogLevel eventLevel, String message, Throwable cause) {
        switch (eventLevel) {
            case TRACE:
                logger.trace(message, cause);
                return;
            case DEBUG:
                logger.debug(message, cause);
                return;
            case INFO:
                logger.info(message, cause);
                return;
            case WARN:
                logger.warn(message, cause);
                return;
            case ERROR:
                logger.error(message, cause);
                return;
            default:
                return;
        }
    }
Log if the logger and the current event log level are compatible. We log
a message and an exception.

@param eventLevel the event log level as requested by the user
@param message    the message to log
@param cause      the exception cause to log
lts-core/src/main/java/com/github/ltsopensource/remoting/mina/MinaLogger.java