package ru.finam.slf4jgwt.logging.gwt;
import org.slf4j.ILoggerFactory;
import org.slf4j.Logger;
import java.util.HashMap;
/**
* GWTLoggerFactory is an implementation of {@link org.slf4j.ILoggerFactory}
* returning the appropriately named {@link GWTLoggerAdapter} instance.
*
* @author Andrei Korzhevskii <a.korzhevskiy@gmail.com>
*/
public class GWTLoggerFactory implements ILoggerFactory {
private final HashMap<String, Logger> loggers = new HashMap<String, Logger>();
@Override
public Logger getLogger(String name) {
if (name == null) {
throw new NullPointerException();
}
// the root logger is called "" in JUL
if (Logger.ROOT_LOGGER_NAME.equalsIgnoreCase(name)) {
name = "";
}
Logger logger = loggers.get(name);
if (logger == null) {
logger = new GWTLoggerAdapter(name);
loggers.put(name, logger);
}
return logger;
}
}