Class ContextJNDISelector

  • All Implemented Interfaces:
    ContextSelector

    public class ContextJNDISelector
    extends java.lang.Object
    implements ContextSelector
    A class that allows the LoggerFactory to access an environment-based LoggerContext.

    To add in catalina.sh

    JAVA_OPTS="$JAVA_OPTS "-Dlogback.ContextSelector=JNDI""

    • Field Detail

      • synchronizedContextMap

        private final java.util.Map<java.lang.String,​LoggerContext> synchronizedContextMap
      • threadLocal

        private static final java.lang.ThreadLocal<LoggerContext> threadLocal
    • Constructor Detail

      • ContextJNDISelector

        public ContextJNDISelector​(LoggerContext context)
    • Method Detail

      • conventionalConfigFileName

        private java.lang.String conventionalConfigFileName​(java.lang.String contextName)
      • findConfigFileURL

        private java.net.URL findConfigFileURL​(javax.naming.Context ctx,
                                               LoggerContext loggerContext)
      • urlByResourceName

        private java.net.URL urlByResourceName​(StatusManager sm,
                                               java.lang.String resourceName)
      • configureLoggerContextByURL

        private void configureLoggerContextByURL​(LoggerContext context,
                                                 java.net.URL url)
      • getCount

        public int getCount()
        Returns the number of managed contexts Used for testing purposes
        Returns:
        the number of managed contexts
      • setLocalContext

        public void setLocalContext​(LoggerContext context)
        These methods are used by the LoggerContextFilter.

        They provide a way to tell the selector which context to use, thus saving the cost of a JNDI call at each new request.

        Parameters:
        context -
      • removeLocalContext

        public void removeLocalContext()