Package org.apache.logging.log4j.taglib
Class Log4jTaglibLoggerContext
- java.lang.Object
-
- org.apache.logging.log4j.taglib.Log4jTaglibLoggerContext
-
- All Implemented Interfaces:
LoggerContext
final class Log4jTaglibLoggerContext extends java.lang.Object implements LoggerContext
This bridge between the tag library and the Log4j API ensures that instances ofLog4jTaglibLogger
are appropriately held in memory and not constantly recreated.- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.WeakHashMap<javax.servlet.ServletContext,Log4jTaglibLoggerContext>
CONTEXTS
private LoggerRegistry<Log4jTaglibLogger>
loggerRegistry
private javax.servlet.ServletContext
servletContext
-
Fields inherited from interface org.apache.logging.log4j.spi.LoggerContext
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Modifier Constructor Description private
Log4jTaglibLoggerContext(javax.servlet.ServletContext servletContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
getExternalContext()
Gets the anchor for some other context, such as a ClassLoader or ServletContext.(package private) static Log4jTaglibLoggerContext
getInstance(javax.servlet.ServletContext servletContext)
Log4jTaglibLogger
getLogger(java.lang.String name)
Gets an ExtendedLogger.Log4jTaglibLogger
getLogger(java.lang.String name, MessageFactory messageFactory)
Gets an ExtendedLogger.boolean
hasLogger(java.lang.String name)
Tests if a Logger with the specified name exists.boolean
hasLogger(java.lang.String name, java.lang.Class<? extends MessageFactory> messageFactoryClass)
Tests if a Logger with the specified name and MessageFactory type exists.boolean
hasLogger(java.lang.String name, MessageFactory messageFactory)
Tests if a Logger with the specified name and MessageFactory exists.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.logging.log4j.spi.LoggerContext
getLogger, getLogger, getLoggerRegistry, getObject, putObject, putObjectIfAbsent, removeObject, removeObject
-
-
-
-
Field Detail
-
CONTEXTS
private static final java.util.WeakHashMap<javax.servlet.ServletContext,Log4jTaglibLoggerContext> CONTEXTS
-
loggerRegistry
private final LoggerRegistry<Log4jTaglibLogger> loggerRegistry
-
servletContext
private final javax.servlet.ServletContext servletContext
-
-
Method Detail
-
getExternalContext
public java.lang.Object getExternalContext()
Description copied from interface:LoggerContext
Gets the anchor for some other context, such as a ClassLoader or ServletContext.- Specified by:
getExternalContext
in interfaceLoggerContext
- Returns:
- The external context.
-
getLogger
public Log4jTaglibLogger getLogger(java.lang.String name)
Description copied from interface:LoggerContext
Gets an ExtendedLogger.- Specified by:
getLogger
in interfaceLoggerContext
- Parameters:
name
- The name of the Logger to return.- Returns:
- The logger with the specified name.
-
getLogger
public Log4jTaglibLogger getLogger(java.lang.String name, MessageFactory messageFactory)
Description copied from interface:LoggerContext
Gets an ExtendedLogger.- Specified by:
getLogger
in interfaceLoggerContext
- 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.
-
hasLogger
public boolean hasLogger(java.lang.String name)
Description copied from interface:LoggerContext
Tests if a Logger with the specified name exists.- Specified by:
hasLogger
in interfaceLoggerContext
- Parameters:
name
- The Logger name to search for.- Returns:
- true if the Logger exists, false otherwise.
-
hasLogger
public boolean hasLogger(java.lang.String name, MessageFactory messageFactory)
Description copied from interface:LoggerContext
Tests if a Logger with the specified name and MessageFactory exists.- Specified by:
hasLogger
in interfaceLoggerContext
- Parameters:
name
- The Logger name to search for.messageFactory
- The message factory to search for.- Returns:
- true if the Logger exists, false otherwise.
-
hasLogger
public boolean hasLogger(java.lang.String name, java.lang.Class<? extends MessageFactory> messageFactoryClass)
Description copied from interface:LoggerContext
Tests if a Logger with the specified name and MessageFactory type exists.- Specified by:
hasLogger
in interfaceLoggerContext
- Parameters:
name
- The Logger name to search for.messageFactoryClass
- The message factory class to search for.- Returns:
- true if the Logger exists, false otherwise.
-
getInstance
static Log4jTaglibLoggerContext getInstance(javax.servlet.ServletContext servletContext)
-
-