package pl.brightinventions.slf4android; import org.slf4j.ILoggerFactory; import org.slf4j.Logger; import java.util.HashMap; public class AndroidLoggerFactory implements ILoggerFactory { private final HashMap<String, AndroidLoggerAdapter> loggerAdaptersMap = new HashMap<String, AndroidLoggerAdapter>(); @Override public Logger getLogger(String name) { AndroidLoggerAdapter adapter = loggerAdaptersMap.get(name); if (adapter == null) { synchronized (loggerAdaptersMap) { adapter = loggerAdaptersMap.get(name); if (adapter == null) { adapter = createLogger(name); loggerAdaptersMap.put(name, adapter); } } } return adapter; } private AndroidLoggerAdapter createLogger(String name) { LoggerConfiguration.ensureInitialized(); java.util.logging.Logger logger = java.util.logging.Logger.getLogger(name); return new AndroidLoggerAdapter(logger); } }