public class LoggerRegistry<T extends ExtendedLogger>
extends java.lang.Object
LoggerContext
implementations.Modifier and Type | Class and Description |
---|---|
static class |
LoggerRegistry.ConcurrentMapFactory<T extends ExtendedLogger>
Generates ConcurrentHashMaps for use by the registry to store the Loggers.
|
static interface |
LoggerRegistry.MapFactory<T extends ExtendedLogger>
Interface to control the data structure used by the registry to store the Loggers.
|
static class |
LoggerRegistry.WeakMapFactory<T extends ExtendedLogger>
Generates WeakHashMaps for use by the registry to store the Loggers.
|
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
DEFAULT_FACTORY_KEY |
private LoggerRegistry.MapFactory<T> |
factory |
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,T>> |
map |
Constructor and Description |
---|
LoggerRegistry() |
LoggerRegistry(LoggerRegistry.MapFactory<T> factory) |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
factoryClassKey(java.lang.Class<? extends MessageFactory> messageFactoryClass) |
private static java.lang.String |
factoryKey(MessageFactory messageFactory) |
T |
getLogger(java.lang.String name)
Returns an ExtendedLogger.
|
T |
getLogger(java.lang.String name,
MessageFactory messageFactory)
Returns an ExtendedLogger.
|
java.util.Collection<T> |
getLoggers() |
java.util.Collection<T> |
getLoggers(java.util.Collection<T> destination) |
private java.util.Map<java.lang.String,T> |
getOrCreateInnerMap(java.lang.String factoryName) |
boolean |
hasLogger(java.lang.String name)
Detects if a Logger with the specified name exists.
|
boolean |
hasLogger(java.lang.String name,
java.lang.Class<? extends MessageFactory> messageFactoryClass)
Detects if a Logger with the specified name and MessageFactory type exists.
|
boolean |
hasLogger(java.lang.String name,
MessageFactory messageFactory)
Detects if a Logger with the specified name and MessageFactory exists.
|
void |
putIfAbsent(java.lang.String name,
MessageFactory messageFactory,
T logger) |
private static final java.lang.String DEFAULT_FACTORY_KEY
private final LoggerRegistry.MapFactory<T extends ExtendedLogger> factory
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,T extends ExtendedLogger>> map
public LoggerRegistry()
public LoggerRegistry(LoggerRegistry.MapFactory<T> factory)
private static java.lang.String factoryClassKey(java.lang.Class<? extends MessageFactory> messageFactoryClass)
private static java.lang.String factoryKey(MessageFactory messageFactory)
public T getLogger(java.lang.String name)
name
- The name of the Logger to return.public T getLogger(java.lang.String name, MessageFactory messageFactory)
name
- The name of the Logger to return.messageFactory
- The message factory is used only when creating a logger, subsequent use does not change
the logger but will log a warning if mismatched.public java.util.Collection<T> getLoggers()
private java.util.Map<java.lang.String,T> getOrCreateInnerMap(java.lang.String factoryName)
public boolean hasLogger(java.lang.String name)
name
- The Logger name to search for.public boolean hasLogger(java.lang.String name, MessageFactory messageFactory)
name
- The Logger name to search for.messageFactory
- The message factory to search for.public boolean hasLogger(java.lang.String name, java.lang.Class<? extends MessageFactory> messageFactoryClass)
name
- The Logger name to search for.messageFactoryClass
- The message factory class to search for.public void putIfAbsent(java.lang.String name, MessageFactory messageFactory, T logger)