ch.qos.logback.access.tomcat
Class LogbackValve

java.lang.Object
  extended by org.apache.catalina.valves.ValveBase
      extended by ch.qos.logback.access.tomcat.LogbackValve
All Implemented Interfaces:
Context, AppenderAttachable<AccessEvent>, FilterAttachable<AccessEvent>, PropertyContainer, MBeanRegistration, org.apache.catalina.Contained, org.apache.catalina.Lifecycle, org.apache.catalina.Valve

public class LogbackValve
extends org.apache.catalina.valves.ValveBase
implements org.apache.catalina.Lifecycle, Context, AppenderAttachable<AccessEvent>, FilterAttachable<AccessEvent>

This class is an implementation of tomcat's Valve interface, by extending ValveBase.

For more information on using LogbackValve please refer to the online documentation on logback-acces and tomcat.

A special, module-specific implementation of PatternLayout was implemented to allow http-specific patterns to be used. The PatternLayout provides a way to format the logging output that is just as easy and flexible as the usual PatternLayout. For more information about the general use of a PatternLayout, please refer to logback classic's PatternLayout. For information about logback access' specific PatternLayout, please refer to it's javadoc.

Author:
Ceki Gülcü, Sébastien Pennec

Field Summary
static String DEFAULT_CONFIG_FILE
           
 
Fields inherited from class org.apache.catalina.valves.ValveBase
container, containerLog, controller, domain, info, mserver, next, oname
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, DESTROY_EVENT, INIT_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
LogbackValve()
           
 
Method Summary
 void addAppender(Appender<AccessEvent> newAppender)
          Add an appender.
 void addFilter(Filter<AccessEvent> newFilter)
          Add a filter.
 void addLifecycleListener(org.apache.catalina.LifecycleListener arg0)
           
 void clearAllFilters()
           
 void detachAndStopAllAppenders()
          Detach and stop all previously added appenders.
 boolean detachAppender(Appender appender)
          Detach the appender passed as parameter from the list of appenders.
 boolean detachAppender(String name)
          Detach the appender with the name passed as parameter from the list of appenders.
 org.apache.catalina.LifecycleListener[] findLifecycleListeners()
           
 Appender<AccessEvent> getAppender(String name)
          Get an appender by name.
 String getFilename()
           
 FilterReply getFilterChainDecision(AccessEvent event)
          Loop through the filters in the chain.
 Filter getFirstFilter()
          Get first filter in the chain.
 String getInfo()
           
 String getName()
          Contexts are named objects.
 Object getObject(String key)
          A Context can act as a store for various objects used by LOGBack components.
 String getProperty(String key)
          Get the property of this context.
 Map<String,String> getPropertyMap()
           
 StatusManager getStatusManager()
           
 void invoke(org.apache.catalina.connector.Request request, org.apache.catalina.connector.Response response)
           
 boolean isAttached(Appender appender)
          Returns true if the specified appender is in list of attached attached, false otherwise.
 boolean isQuiet()
           
 Iterator<Appender<AccessEvent>> iteratorForAppenders()
          Get an iterator for appenders contained in the parent object.
 void putObject(String key, Object value)
          Store an object under 'key'.
 void putProperty(String key, String val)
          Set a property of this context.
 void removeLifecycleListener(org.apache.catalina.LifecycleListener arg0)
           
 void setFilename(String filename)
           
 void setName(String name)
          The name of the context can be set only once.
 void setQuiet(boolean quiet)
           
 void start()
           
 void stop()
           
 
Methods inherited from class org.apache.catalina.valves.ValveBase
backgroundProcess, createObjectName, getContainer, getContainerName, getController, getDomain, getNext, getObjectName, getParentName, postDeregister, postRegister, preDeregister, preRegister, setContainer, setController, setNext, setObjectName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_CONFIG_FILE

public static final String DEFAULT_CONFIG_FILE
Constructor Detail

LogbackValve

public LogbackValve()
Method Detail

start

public void start()
Specified by:
start in interface org.apache.catalina.Lifecycle

getFilename

public String getFilename()

setFilename

public void setFilename(String filename)

isQuiet

public boolean isQuiet()

setQuiet

public void setQuiet(boolean quiet)

invoke

public void invoke(org.apache.catalina.connector.Request request,
                   org.apache.catalina.connector.Response response)
            throws IOException,
                   javax.servlet.ServletException
Specified by:
invoke in interface org.apache.catalina.Valve
Specified by:
invoke in class org.apache.catalina.valves.ValveBase
Throws:
IOException
javax.servlet.ServletException

stop

public void stop()
Specified by:
stop in interface org.apache.catalina.Lifecycle

addAppender

public void addAppender(Appender<AccessEvent> newAppender)
Description copied from interface: AppenderAttachable
Add an appender.

Specified by:
addAppender in interface AppenderAttachable<AccessEvent>

iteratorForAppenders

public Iterator<Appender<AccessEvent>> iteratorForAppenders()
Description copied from interface: AppenderAttachable
Get an iterator for appenders contained in the parent object.

Specified by:
iteratorForAppenders in interface AppenderAttachable<AccessEvent>

getAppender

public Appender<AccessEvent> getAppender(String name)
Description copied from interface: AppenderAttachable
Get an appender by name.

Specified by:
getAppender in interface AppenderAttachable<AccessEvent>

isAttached

public boolean isAttached(Appender appender)
Description copied from interface: AppenderAttachable
Returns true if the specified appender is in list of attached attached, false otherwise.

Specified by:
isAttached in interface AppenderAttachable<AccessEvent>

detachAndStopAllAppenders

public void detachAndStopAllAppenders()
Description copied from interface: AppenderAttachable
Detach and stop all previously added appenders.

Specified by:
detachAndStopAllAppenders in interface AppenderAttachable<AccessEvent>

detachAppender

public boolean detachAppender(Appender appender)
Description copied from interface: AppenderAttachable
Detach the appender passed as parameter from the list of appenders.

Specified by:
detachAppender in interface AppenderAttachable<AccessEvent>

detachAppender

public boolean detachAppender(String name)
Description copied from interface: AppenderAttachable
Detach the appender with the name passed as parameter from the list of appenders.

Specified by:
detachAppender in interface AppenderAttachable<AccessEvent>

getInfo

public String getInfo()
Specified by:
getInfo in interface org.apache.catalina.Valve
Overrides:
getInfo in class org.apache.catalina.valves.ValveBase

getStatusManager

public StatusManager getStatusManager()
Specified by:
getStatusManager in interface Context

getPropertyMap

public Map<String,String> getPropertyMap()

putProperty

public void putProperty(String key,
                        String val)
Description copied from interface: Context
Set a property of this context.

Specified by:
putProperty in interface Context

getProperty

public String getProperty(String key)
Description copied from interface: Context
Get the property of this context.

Specified by:
getProperty in interface Context
Specified by:
getProperty in interface PropertyContainer

getObject

public Object getObject(String key)
Description copied from interface: Context
A Context can act as a store for various objects used by LOGBack components.

Specified by:
getObject in interface Context
Returns:
The object stored under 'key'.

putObject

public void putObject(String key,
                      Object value)
Description copied from interface: Context
Store an object under 'key'. If no object can be found, null is returned.

Specified by:
putObject in interface Context

addFilter

public void addFilter(Filter<AccessEvent> newFilter)
Description copied from interface: FilterAttachable
Add a filter.

Specified by:
addFilter in interface FilterAttachable<AccessEvent>

getFirstFilter

public Filter getFirstFilter()
Description copied from interface: FilterAttachable
Get first filter in the chain.

Specified by:
getFirstFilter in interface FilterAttachable<AccessEvent>

clearAllFilters

public void clearAllFilters()
Specified by:
clearAllFilters in interface FilterAttachable<AccessEvent>

getFilterChainDecision

public FilterReply getFilterChainDecision(AccessEvent event)
Description copied from interface: FilterAttachable
Loop through the filters in the chain. As soon as a filter decides on ACCEPT or DENY, then that value is returned. If all of the filters return NEUTRAL, then NEUTRAL is returned.

Specified by:
getFilterChainDecision in interface FilterAttachable<AccessEvent>

getName

public String getName()
Description copied from interface: Context
Contexts are named objects.

Specified by:
getName in interface Context
Returns:
the name for this context

setName

public void setName(String name)
Description copied from interface: Context
The name of the context can be set only once.

Specified by:
setName in interface Context

addLifecycleListener

public void addLifecycleListener(org.apache.catalina.LifecycleListener arg0)
Specified by:
addLifecycleListener in interface org.apache.catalina.Lifecycle

findLifecycleListeners

public org.apache.catalina.LifecycleListener[] findLifecycleListeners()
Specified by:
findLifecycleListeners in interface org.apache.catalina.Lifecycle

removeLifecycleListener

public void removeLifecycleListener(org.apache.catalina.LifecycleListener arg0)
Specified by:
removeLifecycleListener in interface org.apache.catalina.Lifecycle


Copyright © 2005-2011 QOS.ch. All Rights Reserved.