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 Details

  • Constructor Details

    • AbstractLoggerAdapter

      public AbstractLoggerAdapter()
  • Method Details

    • getLogger

      public L getLogger(String name)
      Description copied from interface: LoggerAdapter
      Gets a named logger. Implementations should defer to the abstract methods in AbstractLoggerAdapter.
      Specified by:
      getLogger in interface LoggerAdapter<L>
      Parameters:
      name - the name of the logger to get
      Returns:
      the named logger
    • contextShutdown

      public void contextShutdown(LoggerContext loggerContext)
      Specified by:
      contextShutdown in interface LoggerContextShutdownAware
    • getLoggersInContext

      public 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
    • getLoggerContexts

      public Set<LoggerContext> getLoggerContexts()
      For unit testing. Consider to be private.
    • newLogger

      protected abstract L newLogger(String name, LoggerContext context)
      Creates a new named logger for a given LoggerContext.
      Parameters:
      name - the name of the logger to create
      context - the LoggerContext this logger will be associated with
      Returns:
      the new named logger
    • getContext

      protected abstract LoggerContext getContext()
      Gets the LoggerContext that should be used to look up or create loggers. This is similar in spirit to the ContextSelector class in log4j-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

      protected LoggerContext getContext(Class<?> callerClass)
      Gets the LoggerContext 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 interface AutoCloseable
      Specified by:
      close in interface Closeable