code: @Subscribe
      public final void receive(final LogEvent logEvent) {
          final String sClassName = logEvent.getSource().getClass().getName();
  
          Logger logger = loggersMap.get(sClassName);
  
          if (logger == null) {
              logger = LoggerFactory.getLogger(logEvent.getSource().getClass());
              loggersMap.put(sClassName, logger);
          }
  
          final Throwable error = logEvent.getCause();
  
          switch (logEvent.getLogType()) {
          case TRACE:
              logger.trace(logEvent.getMessage(), error);
              break;
          case DEBUG:
              logger.debug(logEvent.getMessage(), error);
              break;
          case INFO:
              logger.info(logEvent.getMessage(), error);
              break;
          case WARNING:
              logger.warn(logEvent.getMessage(), error);
              break;
          case ERROR:
              logger.error(logEvent.getMessage(), error);
              break;
          case FATAL:
              logger.error(logEvent.getMessage(), error);
              break;
          }
      }
docs: This method receives the log event and logs it.
  
  @param logEvent
  Event to be logged