private synchronized void logOut()

in src/main/java/org/apache/sling/commons/logservice/internal/SLF4JSupport.java [110:165]


    private synchronized void logOut(final Logger logger, final LogEntry logEntry) {

        final StringBuilder msg = new StringBuilder();

        ServiceReference<?> sr = logEntry.getServiceReference();
        if (sr != null) {
            msg.append("Service [");
            if (sr.getProperty(Constants.SERVICE_PID) != null) {
                msg.append(sr.getProperty(Constants.SERVICE_PID)).append(',');
            } else if (sr.getProperty(COMPONENT_NAME) != null) {
                msg.append(sr.getProperty(COMPONENT_NAME)).append(',');
            } else if (sr.getProperty(Constants.SERVICE_DESCRIPTION) != null) {
                msg.append(sr.getProperty(Constants.SERVICE_DESCRIPTION)).append(
                    ',');
            }
            msg.append(sr.getProperty(Constants.SERVICE_ID))
                .append(", ")
                .append(Arrays.toString((String[]) sr.getProperty(Constants.OBJECTCLASS)))
                .append("] ");
        }

        if (logEntry.getMessage() != null) {
            msg.append(logEntry.getMessage());
            if (LOGGER_EVENT_FRAMEWORK.equals(logEntry.getLoggerName()) && logEntry.getMessage().contains(SL_MARKER)) {
                msg.append(" to ");
                msg.append(String.valueOf(this.startLevel.getStartLevel()));
            }
        }

        Throwable exception = logEntry.getException();
        if (exception != null) {
            msg.append(" (").append(exception).append(')');
        }

        String message = msg.toString();
        switch (logEntry.getLogLevel()) {
        case DEBUG:
            logger.debug(message, exception);
                break;
        case INFO:
            logger.info(message, exception);
                break;
        case WARN:
            logger.warn(message, exception);
                break;
        case ERROR:
            logger.error(message, exception);
                break;
        case TRACE:
                logger.trace(message, exception);
                break;
        case AUDIT: // we treat audit as trace
            logger.trace(message, exception);
            break;
        }
    }