logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
putObject(CoreConstants.EVALUATOR_MAP, new HashMap<String, EventEvaluator<?>>());
public LogbackValve()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return started;
boolean isStarted()
File configFile
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
try {
            return configFile.toURI().toURL();
URL fileToUrl(File configFile)
String filename
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
URL result = Loader.getResource(filename, getClass().getClassLoader());
        if (result != null)
            addInfo("Found [" + filename + "] as a resource.");
        else
            addInfo("Could NOT find [" + filename + "] as a resource.");
        return result;
URL searchAsResource(String filename)
String filename  String propertyKey
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
String propertyValue = OptionHelper.getSystemProperty(propertyKey);
        String candidatePath = propertyValue + File.separatorChar + filename;
        if (propertyValue == null) {
            addInfo("System property \"" + propertyKey + "\" is not set. Skipping configuration file search with ${" + propertyKey + "
File searchForConfigFileTomcatProperty(String filename, String propertyKey)
Status status
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
StatusManager sm = getStatusManager();
        if (sm != null) {
            sm.add(status);
void addStatus(Status status)
String msg
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
addStatus(new InfoStatus(msg, this));
void addInfo(String msg)
String msg
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
addStatus(new WarnStatus(msg, this));
void addWarn(String msg)
String msg  Throwable t
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
addStatus(new ErrorStatus(msg, this, t));
void addError(String msg, Throwable t)
URL resourceURL
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
JoranConfigurator jc = new JoranConfigurator();
            jc.setContext(this);
            jc.doConfigure(resourceURL);
            addInfo("Done configuring");
            addError("Failed to configure LogbackValve", e);
void configureAsResource(URL resourceURL)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return filenameOption;
String getFilename()
String filename
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
this.filenameOption = filename;
void setFilename(String filename)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return quiet;
boolean isQuiet()
boolean quiet
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
this.quiet = quiet;
void setQuiet(boolean quiet)
Appender<IAccessEvent> newAppender
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
aai.addAppender(newAppender);
void addAppender(Appender<IAccessEvent> newAppender)
Appender<IAccessEvent> appender
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return aai.isAttached(appender);
boolean isAttached(Appender<IAccessEvent> appender)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
aai.detachAndStopAllAppenders();
void detachAndStopAllAppenders()
Appender<IAccessEvent> appender
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return aai.detachAppender(appender);
boolean detachAppender(Appender<IAccessEvent> appender)
String name
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return aai.detachAppender(name);
boolean detachAppender(String name)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return "Logback's implementation of ValveBase";
String getInfo()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return sm;
StatusManager getStatusManager()
String key  String val
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
this.propertyMap.put(key, val);
void putProperty(String key, String val)
String key
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return (String) this.propertyMap.get(key);
String getProperty(String key)
String key
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return objectMap.get(key);
Object getObject(String key)
String key  Object value
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
objectMap.put(key, value);
void putObject(String key, Object value)
Filter<IAccessEvent> newFilter
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
fai.addFilter(newFilter);
void addFilter(Filter<IAccessEvent> newFilter)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
fai.clearAllFilters();
void clearAllFilters()
IAccessEvent event
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return fai.getFilterChainDecision(event);
FilterReply getFilterChainDecision(IAccessEvent event)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return executorService;
ExecutorService getExecutorService()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return name;
String getName()
String name
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
if (this.name != null) {
            throw new IllegalStateException("LogbackValve has been already given a name");
        this.name = name;
void setName(String name)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return birthTime;
long getBirthTime()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return configurationLock;
Object getConfigurationLock()
LifeCycle component
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
lifeCycleManager.register(component);
void register(LifeCycle component)
LifecycleListener arg0
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
// dummy NOP implementation
void addLifecycleListener(LifecycleListener arg0)
LifecycleListener arg0
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
// dummy NOP implementation
void removeLifecycleListener(LifecycleListener arg0)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
StringBuilder sb = new StringBuilder(this.getClass().getName());
        sb.append('[');
        sb.append(getName());
        sb.append(']');
        return sb.toString();
String toString()
String resourceName  ClassLoader classLoader
logback-classic/src/main/java/ch/qos/logback/classic/util/ContextInitializer.java
Set<URL> urlSet = null;
      StatusManager sm = loggerContext.getStatusManager();
      try {
        urlSet = Loader.getResources(resourceName, classLoader);
void multiplicityWarning(String resourceName, ClassLoader classLoader)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
putObject(CoreConstants.EVALUATOR_MAP, new HashMap<String, EventEvaluator<?>>());
public LogbackValve()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return started;
boolean isStarted()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return filename;
String getFilename()
String filename
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
this.filename = filename;
void setFilename(String filename)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return quiet;
boolean isQuiet()
boolean quiet
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
this.quiet = quiet;
void setQuiet(boolean quiet)
Appender<IAccessEvent> newAppender
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
aai.addAppender(newAppender);
void addAppender(Appender<IAccessEvent> newAppender)
Appender<IAccessEvent> appender
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return aai.isAttached(appender);
boolean isAttached(Appender<IAccessEvent> appender)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
aai.detachAndStopAllAppenders();
void detachAndStopAllAppenders()
Appender<IAccessEvent> appender
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return aai.detachAppender(appender);
boolean detachAppender(Appender<IAccessEvent> appender)
String name
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return aai.detachAppender(name);
boolean detachAppender(String name)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return "Logback's implementation of ValveBase";
String getInfo()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return sm;
StatusManager getStatusManager()
String key  String val
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
this.propertyMap.put(key, val);
void putProperty(String key, String val)
String key
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return (String) this.propertyMap.get(key);
String getProperty(String key)
String key
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return objectMap.get(key);
Object getObject(String key)
String key  Object value
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
objectMap.put(key, value);
void putObject(String key, Object value)
Filter<IAccessEvent> newFilter
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
fai.addFilter(newFilter);
void addFilter(Filter<IAccessEvent> newFilter)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
fai.clearAllFilters();
void clearAllFilters()
IAccessEvent event
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return fai.getFilterChainDecision(event);
FilterReply getFilterChainDecision(IAccessEvent event)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return executorService;
ExecutorService getExecutorService()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return name;
String getName()
String name
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
if (this.name != null) {
      throw new IllegalStateException(
          "LogbackValve has been already given a name");
void setName(String name)
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return birthTime;
long getBirthTime()
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
return configurationLock;
Object getConfigurationLock()
LifeCycle component
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
lifeCycleManager.register(component);
void register(LifeCycle component)
LifecycleListener arg0
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
// dummy NOP implementation
void addLifecycleListener(LifecycleListener arg0)
LifecycleListener arg0
logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
// dummy NOP implementation
void removeLifecycleListener(LifecycleListener arg0)
String resourceName  ClassLoader classLoader
logback-classic/src/main/java/ch/qos/logback/classic/util/ContextInitializer.java
Set<URL> urlSet = null;
    StatusManager sm = loggerContext.getStatusManager();
    try {
      urlSet = Loader.getResourceOccurrenceCount(resourceName, classLoader);
void multiplicityWarning(String resourceName, ClassLoader classLoader)