|
Logback API Version 0.9.8 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.catalina.valves.ValveBase
ch.qos.logback.access.tomcat.LogbackValve
public class LogbackValve
This class is an implementation of tomcat's Valve interface, by extending ValveBase. It can be seen as logback classic's LoggerContext. Appenders can be attached directly to LogbackValve and LogbackValve uses the same StatusManager as LoggerContext does. It also provides containers for properties.
To configure tomcat in order to use LogbackValve, the following lines must be
added to the tomcat's server.xml, nested in an Engine
element:
<Valve className="ch.qos.logback.access.tomcat.LogbackValve"/>
By default, LogbackValve looks for a logback configuration file called logback-access.xml, in the same folder where the tomcat configuration is located, that is $TOMCAT_HOME/conf/logback-access.xml. The format of logback-access configuration file is only slightly different than for logback-classic. Most of it remains the same: Appenders and Layouts are declared the same way. However, since logback-access has no notion of declared loggers, logger elements are not allowed.
Here is a sample logback.xml file that can be used right away:
<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.access.PatternLayout"> <param name="Pattern" value="%date %server %remoteIP %clientHost %user %requestURL " /> </layout> </appender> <appender-ref ref="STDOUT" /> </configuration>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.
Field Summary | |
---|---|
static String |
DEFAULT_CONFIG_FILE
|
Fields inherited from class org.apache.catalina.valves.ValveBase |
---|
container, containerLog, controller, domain, info, mserver, next, oname |
Constructor Summary | |
---|---|
LogbackValve()
|
Method Summary | |
---|---|
void |
addAppender(Appender<AccessEvent> newAppender)
Add an appender. |
void |
addFilter(Filter newFilter)
Add a filter. |
void |
clearAllFilters()
|
void |
detachAndStopAllAppenders()
Detach all previously added appenders. |
boolean |
detachAppender(Appender appender)
Detach the appender passed as parameter from the list of appenders. |
Appender<AccessEvent> |
detachAppender(String name)
Detach the appender with the name passed as parameter from the list of appenders. |
Appender<AccessEvent> |
getAppender(String name)
Get an appender by name. |
FilterReply |
getFilterChainDecision(Object 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()
Get all the properties for this context as a Map. |
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. |
Iterator |
iteratorForAppenders()
Get an iterator for appenders contained in the parent object. |
void |
putObject(String key,
Object value)
Store an object under 'key'. |
void |
setName(String name)
The name of the context can be set only once. |
void |
setProperty(String key,
String val)
Set a property of this context. |
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 |
---|
public static final String DEFAULT_CONFIG_FILE
Constructor Detail |
---|
public LogbackValve()
Method Detail |
---|
public void start()
public void invoke(org.apache.catalina.connector.Request request, org.apache.catalina.connector.Response response) throws IOException, ServletException
invoke
in interface org.apache.catalina.Valve
invoke
in class org.apache.catalina.valves.ValveBase
IOException
ServletException
public void stop()
public void addAppender(Appender<AccessEvent> newAppender)
AppenderAttachable
addAppender
in interface AppenderAttachable<AccessEvent>
public Iterator iteratorForAppenders()
AppenderAttachable
iteratorForAppenders
in interface AppenderAttachable<AccessEvent>
public Appender<AccessEvent> getAppender(String name)
AppenderAttachable
getAppender
in interface AppenderAttachable<AccessEvent>
public boolean isAttached(Appender appender)
AppenderAttachable
true
if the specified appender is in list of
attached attached, false
otherwise.
isAttached
in interface AppenderAttachable<AccessEvent>
public void detachAndStopAllAppenders()
AppenderAttachable
detachAndStopAllAppenders
in interface AppenderAttachable<AccessEvent>
public boolean detachAppender(Appender appender)
AppenderAttachable
detachAppender
in interface AppenderAttachable<AccessEvent>
public Appender<AccessEvent> detachAppender(String name)
AppenderAttachable
detachAppender
in interface AppenderAttachable<AccessEvent>
public String getInfo()
getInfo
in interface org.apache.catalina.Valve
getInfo
in class org.apache.catalina.valves.ValveBase
public StatusManager getStatusManager()
getStatusManager
in interface Context
public Map<String,String> getPropertyMap()
Context
getPropertyMap
in interface Context
public void setProperty(String key, String val)
Context
setProperty
in interface Context
public String getProperty(String key)
Context
getProperty
in interface Context
public Object getObject(String key)
Context
getObject
in interface Context
public void putObject(String key, Object value)
Context
putObject
in interface Context
public void addFilter(Filter newFilter)
FilterAttachable
addFilter
in interface FilterAttachable
public Filter getFirstFilter()
FilterAttachable
getFirstFilter
in interface FilterAttachable
public void clearAllFilters()
clearAllFilters
in interface FilterAttachable
public FilterReply getFilterChainDecision(Object event)
FilterAttachable
getFilterChainDecision
in interface FilterAttachable
public String getName()
Context
getName
in interface Context
public void setName(String name)
Context
setName
in interface Context
|
Logback API Version 0.9.8 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |