Package org.apache.logging.log4j.spi
Class AbstractLoggerAdapter<L>
- java.lang.Object
- 
- org.apache.logging.log4j.spi.AbstractLoggerAdapter<L>
 
- 
- Type Parameters:
- L- the Logger class to adapt
 - All Implemented Interfaces:
- Closeable,- AutoCloseable,- LoggerAdapter<L>,- LoggerContextShutdownAware
 
 public abstract class AbstractLoggerAdapter<L> extends Object implements LoggerAdapter<L>, LoggerContextShutdownAware Provides an abstract base class to use for implementing LoggerAdapter.- Since:
- 2.1
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected Map<LoggerContext,ConcurrentMap<String,L>>registryA map to store loggers for their given LoggerContexts.
 - 
Constructor SummaryConstructors Constructor Description AbstractLoggerAdapter()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()voidcontextShutdown(LoggerContext loggerContext)protected abstract LoggerContextgetContext()Gets theLoggerContextthat should be used to look up or create loggers.protected LoggerContextgetContext(Class<?> callerClass)Gets theLoggerContextassociated with the given caller class.LgetLogger(String name)Gets a named logger.Set<LoggerContext>getLoggerContexts()For unit testing.ConcurrentMap<String,L>getLoggersInContext(LoggerContext context)Gets or creates the ConcurrentMap of named loggers for a given LoggerContext.protected abstract LnewLogger(String name, LoggerContext context)Creates a new named logger for a givenLoggerContext.
 
- 
- 
- 
Field Detail- 
registryprotected final Map<LoggerContext,ConcurrentMap<String,L>> registry A map to store loggers for their given LoggerContexts.
 
- 
 - 
Method Detail- 
getLoggerpublic L getLogger(String name) Description copied from interface:LoggerAdapterGets a named logger. Implementations should defer to the abstract methods inAbstractLoggerAdapter.- Specified by:
- getLoggerin interface- LoggerAdapter<L>
- Parameters:
- name- the name of the logger to get
- Returns:
- the named logger
 
 - 
contextShutdownpublic void contextShutdown(LoggerContext loggerContext) - Specified by:
- contextShutdownin interface- LoggerContextShutdownAware
 
 - 
getLoggersInContextpublic ConcurrentMap<String,L> getLoggersInContext(LoggerContext context) Gets or creates the ConcurrentMap of named loggers for a given LoggerContext.- Parameters:
- context- the LoggerContext to get loggers for
- Returns:
- the map of loggers for the given LoggerContext
 
 - 
getLoggerContextspublic Set<LoggerContext> getLoggerContexts() For unit testing. Consider to be private.
 - 
newLoggerprotected abstract L newLogger(String name, LoggerContext context) Creates a new named logger for a givenLoggerContext.- Parameters:
- name- the name of the logger to create
- context- the LoggerContext this logger will be associated with
- Returns:
- the new named logger
 
 - 
getContextprotected abstract LoggerContext getContext() Gets theLoggerContextthat should be used to look up or create loggers. This is similar in spirit to theContextSelectorclass inlog4j-core. However, implementations can rely on their own framework's separation of contexts instead (or simply use a singleton).- Returns:
- the LoggerContext to be used for lookup and creation purposes
- See Also:
- LogManager.getContext(ClassLoader, boolean),- LogManager.getContext(String, boolean)
 
 - 
getContextprotected LoggerContext getContext(Class<?> callerClass) Gets theLoggerContextassociated with the given caller class.- Parameters:
- callerClass- the caller class
- Returns:
- the LoggerContext for the calling class
 
 - 
closepublic void close() - Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
 
 
- 
 
-