private void logViaPublicSLF4JLoggerAPI(LoggingEvent aLoggingEvent) {
        Object[] argArray = aLoggingEvent.getArgumentArray();
        int argLen = argArray == null ? 0 : argArray.length;

        Throwable t = aLoggingEvent.getThrowable();
        int tLen = t == null ? 0 : 1;

        Object[] combinedArguments = new Object[argLen + tLen];

        if(argArray != null) {
            System.arraycopy(argArray, 0, combinedArguments, 0, argLen);
        }
        if(t != null) {
            combinedArguments[argLen] = t;
        }

        String mergedMessage = mergeMarkersAndKeyValuePairsAndMessage(aLoggingEvent);


        switch(aLoggingEvent.getLevel()) {
            case TRACE:
                logger.trace(mergedMessage, combinedArguments);
                break;
            case DEBUG:
                logger.debug(mergedMessage, combinedArguments);
                break;
            case INFO:
                logger.info(mergedMessage, combinedArguments);
                break;
            case WARN:
                logger.warn(mergedMessage, combinedArguments);
                break;
            case ERROR:
                logger.error(mergedMessage, combinedArguments);
                break;
        }
    }
Add a marker to the current logging event being built.
<p>
It is possible to add multiple markers to the same logging event.

@param marker the marker to add
slf4j-api/src/main/java/org/slf4j/spi/DefaultLoggingEventBuilder.java