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 ofLog4jTaglibLoggerare 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>CONTEXTSprivate LoggerRegistry<Log4jTaglibLogger>loggerRegistryprivate javax.servlet.ServletContextservletContext-
Fields inherited from interface org.apache.logging.log4j.spi.LoggerContext
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Modifier Constructor Description privateLog4jTaglibLoggerContext(javax.servlet.ServletContext servletContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectgetExternalContext()Gets the anchor for some other context, such as a ClassLoader or ServletContext.(package private) static Log4jTaglibLoggerContextgetInstance(javax.servlet.ServletContext servletContext)Log4jTaglibLoggergetLogger(java.lang.String name)Gets an ExtendedLogger.Log4jTaglibLoggergetLogger(java.lang.String name, MessageFactory messageFactory)Gets an ExtendedLogger.booleanhasLogger(java.lang.String name)Tests if a Logger with the specified name exists.booleanhasLogger(java.lang.String name, java.lang.Class<? extends MessageFactory> messageFactoryClass)Tests if a Logger with the specified name and MessageFactory type exists.booleanhasLogger(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:LoggerContextGets the anchor for some other context, such as a ClassLoader or ServletContext.- Specified by:
getExternalContextin interfaceLoggerContext- Returns:
- The external context.
-
getLogger
public Log4jTaglibLogger getLogger(java.lang.String name)
Description copied from interface:LoggerContextGets an ExtendedLogger.- Specified by:
getLoggerin 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:LoggerContextGets an ExtendedLogger.- Specified by:
getLoggerin 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:LoggerContextTests if a Logger with the specified name exists.- Specified by:
hasLoggerin 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:LoggerContextTests if a Logger with the specified name and MessageFactory exists.- Specified by:
hasLoggerin 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:LoggerContextTests if a Logger with the specified name and MessageFactory type exists.- Specified by:
hasLoggerin 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)
-
-