private org.apache.log4j.spi.LoggingEvent event2Log4jEvent(LoggingEvent event, Level log4jLevel) {

        String formattedMessage = MessageFormatter.basicArrayFormat(event.getMessage(), event.getArgumentArray());

        LocationInfo locationInfo = null;
        String fqcn = null;

        if (event instanceof SubstituteLoggingEvent) {
            locationInfo = new LocationInfo(NA_SUBST, NA_SUBST, NA_SUBST, "0");
            fqcn = FQCN_SUBSTITUE;
        } else {
            fqcn = FQCN_FLUENT;
        }

        ThrowableInformation ti = null;
        Throwable t = event.getThrowable();
        if (t != null)
            ti = new ThrowableInformation(t);

        if(event instanceof DefaultLoggingEvent) {
            DefaultLoggingEvent defaultLoggingEvent = (DefaultLoggingEvent) event;
            defaultLoggingEvent.setTimeStamp(System.currentTimeMillis());
        }

        org.apache.log4j.spi.LoggingEvent log4jEvent = new org.apache.log4j.spi.LoggingEvent(fqcn, logger, event.getTimeStamp(), log4jLevel, formattedMessage,
                        event.getThreadName(), ti, null, locationInfo, null);

        return log4jEvent;
    }
Called by {@link SubstituteLogger} or by {@link LoggingEventBuilder} instances
@param event
slf4j-reload4j/src/main/java/org/slf4j/reload4j/Reload4jLoggerAdapter.java