private void submit(final Level level, final Object message, final Throwable t) {
        if (!m_logger.isEnabledFor(level)) return;

        if (m_asynchLoggerPool == null) {
            m_logger.log(level, message, t);
            return;
        }

        final Runnable runnableLoggingTask = createRunnableLoggingTask(level, message, t);
        try {
            m_asynchLoggerPool.submit(runnableLoggingTask).get();
        } catch (Exception e) {
            Throwables.propagate(e);
        }
    }
private void submit ( final Level level , final Object message , final Throwable t ) { if ( ! m_logger . isEnabledFor ( level ) ) return ; if ( m_asynchLoggerPool == null ) { m_logger . log ( level , message , t ) ; return ; } final Runnable runnableLoggingTask = createRunnableLoggingTask ( level , message , t ) ; try { m_asynchLoggerPool . submit ( runnableLoggingTask ) . get ( ) ; } catch ( Exception e ) { Throwables . propagate ( e ) ; } }
/*
Submit a task asynchronously to the thread to preserve message order,
and wait for the task to complete.