public Log getInstance(String name) throws LogConfigurationException {
        Log instance = loggerMap.get(name);
        if (instance != null) {
            return instance;
        } else {
            Log newInstance;
            Logger slf4jLogger = LoggerFactory.getLogger(name);
            if (slf4jLogger instanceof LocationAwareLogger) {
                newInstance = new SLF4JLocationAwareLog((LocationAwareLogger) slf4jLogger);
            } else {
                newInstance = new SLF4JLog(slf4jLogger);
            }
            Log oldInstance = loggerMap.putIfAbsent(name, newInstance);
            return oldInstance == null ? newInstance : oldInstance;
        }
    }
<p>
Construct (if necessary) and return a <code>Log</code> instance, using
the factory's current set of configuration attributes.


@param name
         Logical name of the <code>Log</code> instance to be returned
         (the meaning of this name is only known to the underlying logging
         implementation that is being wrapped)

@exception LogConfigurationException
             if a suitable <code>Log</code> instance cannot be returned
jcl-over-slf4j/src/main/java/org/apache/commons/logging/impl/SLF4JLogFactory.java