Package org.apache.logging.log4j.spi
Class LoggerRegistry<T extends ExtendedLogger>
- java.lang.Object
-
- org.apache.logging.log4j.spi.LoggerRegistry<T>
-
public class LoggerRegistry<T extends ExtendedLogger> extends Object
Convenience class to be used byLoggerContext
implementations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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.
-
Constructor Summary
Constructors Constructor Description LoggerRegistry()
LoggerRegistry(LoggerRegistry.MapFactory<T> factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
getLogger(String name)
Returns an ExtendedLogger.T
getLogger(String name, MessageFactory messageFactory)
Returns an ExtendedLogger.Collection<T>
getLoggers()
Collection<T>
getLoggers(Collection<T> destination)
boolean
hasLogger(String name)
Detects if a Logger with the specified name exists.boolean
hasLogger(String name, Class<? extends MessageFactory> messageFactoryClass)
Detects if a Logger with the specified name and MessageFactory type exists.boolean
hasLogger(String name, MessageFactory messageFactory)
Detects if a Logger with the specified name and MessageFactory exists.void
putIfAbsent(String name, MessageFactory messageFactory, T logger)
-
-
-
Constructor Detail
-
LoggerRegistry
public LoggerRegistry()
-
LoggerRegistry
public LoggerRegistry(LoggerRegistry.MapFactory<T> factory)
-
-
Method Detail
-
getLogger
public T getLogger(String name)
Returns an ExtendedLogger.- Parameters:
name
- The name of the Logger to return.- Returns:
- The logger with the specified name.
-
getLogger
public T getLogger(String name, MessageFactory messageFactory)
Returns an ExtendedLogger.- Parameters:
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.- Returns:
- The logger with the specified name.
-
getLoggers
public Collection<T> getLoggers()
-
getLoggers
public Collection<T> getLoggers(Collection<T> destination)
-
hasLogger
public boolean hasLogger(String name)
Detects if a Logger with the specified name exists.- Parameters:
name
- The Logger name to search for.- Returns:
- true if the Logger exists, false otherwise.
-
hasLogger
public boolean hasLogger(String name, MessageFactory messageFactory)
Detects if a Logger with the specified name and MessageFactory exists.- Parameters:
name
- The Logger name to search for.messageFactory
- The message factory to search for.- Returns:
- true if the Logger exists, false otherwise.
- Since:
- 2.5
-
hasLogger
public boolean hasLogger(String name, Class<? extends MessageFactory> messageFactoryClass)
Detects if a Logger with the specified name and MessageFactory type exists.- Parameters:
name
- The Logger name to search for.messageFactoryClass
- The message factory class to search for.- Returns:
- true if the Logger exists, false otherwise.
- Since:
- 2.5
-
putIfAbsent
public void putIfAbsent(String name, MessageFactory messageFactory, T logger)
-
-