/**
  * 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
  */
 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;
   }
 }