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 Summary
Modifier and TypeFieldDescriptionprotected final Map<LoggerContext,
ConcurrentMap<String, L>> A map to store loggers for their given LoggerContexts. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
contextShutdown
(LoggerContext loggerContext) protected abstract LoggerContext
Gets theLoggerContext
that should be used to look up or create loggers.protected LoggerContext
getContext
(Class<?> callerClass) Gets theLoggerContext
associated with the given caller class.Gets a named logger.For unit testing.getLoggersInContext
(LoggerContext context) Gets or creates the ConcurrentMap of named loggers for a given LoggerContext.protected abstract L
newLogger
(String name, LoggerContext context) Creates a new named logger for a givenLoggerContext
.
-
Field Details
-
registry
A map to store loggers for their given LoggerContexts.
-
-
Constructor Details
-
AbstractLoggerAdapter
public AbstractLoggerAdapter()
-
-
Method Details
-
getLogger
Description copied from interface:LoggerAdapter
Gets a named logger. Implementations should defer to the abstract methods inAbstractLoggerAdapter
.- Specified by:
getLogger
in interfaceLoggerAdapter<L>
- Parameters:
name
- the name of the logger to get- Returns:
- the named logger
-
contextShutdown
- Specified by:
contextShutdown
in interfaceLoggerContextShutdownAware
-
getLoggersInContext
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
-
getLoggerContexts
For unit testing. Consider to be private. -
newLogger
Creates a new named logger for a givenLoggerContext
.- Parameters:
name
- the name of the logger to createcontext
- the LoggerContext this logger will be associated with- Returns:
- the new named logger
-
getContext
Gets theLoggerContext
that should be used to look up or create loggers. This is similar in spirit to theContextSelector
class 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:
-
getContext
Gets theLoggerContext
associated with the given caller class.- Parameters:
callerClass
- the caller class- Returns:
- the LoggerContext for the calling class
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-