Package org.apache.catalina.valves
Class JsonAccessLogValve
- java.lang.Object
- 
- All Implemented Interfaces:
- javax.management.MBeanRegistration,- AccessLog,- Contained,- JmxEnabled,- Lifecycle,- Valve
 
 public class JsonAccessLogValve extends AccessLogValve Access log valve derivative that rewrites entries as JSON. Important note: the attribute names are not final Patterns are mapped to attributes as followed:- a: remoteAddr
- A: localAddr
- b: size (byteSent: size)
- B: byteSentNC
- D: elapsedTime
- F: firstByteTime
- h: host
- H: protocol
- l: logicalUserName
- m: method
- p: port
- q: query
- r: request
- s: statusCode
- S: sessionId
- t: time (dateTime: time)
- T: elapsedTimeS
- u: user
- U: path (requestURI: path)
- v: localServerName
- I: threadName
- X: connectionStatus
- %{xxx}a: remoteAddress-xxx
- %{xxx}p: port-xxx
- %{xxx}t: time-xxx
- %{xxx}c: cookies
- %{xxx}i: requestHeaders
- %{xxx}o: responseHeaders
- %{xxx}r: requestAttributes
- %{xxx}s: sessionAttributes
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected static classJsonAccessLogValve.CharElementwrite any char- 
Nested classes/interfaces inherited from class org.apache.catalina.valves.AbstractAccessLogValveAbstractAccessLogValve.AccessLogElement, AbstractAccessLogValve.ByteSentElement, AbstractAccessLogValve.CachedElement, AbstractAccessLogValve.ConnectionStatusElement, AbstractAccessLogValve.CookieElement, AbstractAccessLogValve.DateAndTimeElement, AbstractAccessLogValve.DateFormatCache, AbstractAccessLogValve.ElapsedTimeElement, AbstractAccessLogValve.FirstByteTimeElement, AbstractAccessLogValve.HeaderElement, AbstractAccessLogValve.HostElement, AbstractAccessLogValve.HttpStatusCodeElement, AbstractAccessLogValve.LocalAddrElement, AbstractAccessLogValve.LocalServerNameElement, AbstractAccessLogValve.LogicalUserNameElement, AbstractAccessLogValve.MethodElement, AbstractAccessLogValve.PortElement, AbstractAccessLogValve.ProtocolElement, AbstractAccessLogValve.QueryElement, AbstractAccessLogValve.RemoteAddrElement, AbstractAccessLogValve.RequestAttributeElement, AbstractAccessLogValve.RequestElement, AbstractAccessLogValve.RequestURIElement, AbstractAccessLogValve.ResponseHeaderElement, AbstractAccessLogValve.SessionAttributeElement, AbstractAccessLogValve.SessionIdElement, AbstractAccessLogValve.StringElement, AbstractAccessLogValve.ThreadNameElement, AbstractAccessLogValve.UserElement
 - 
Nested classes/interfaces inherited from interface org.apache.catalina.LifecycleLifecycle.SingleUse
 
- 
 - 
Field Summary- 
Fields inherited from class org.apache.catalina.valves.AccessLogValvecurrentLogFile, encoding, fileDateFormat, fileDateFormatter, prefix, renameOnRotate, rotatable, suffix, writer
 - 
Fields inherited from class org.apache.catalina.valves.AbstractAccessLogValvecachedElements, condition, conditionIf, enabled, locale, localeName, logElements, pattern, requestAttributesEnabled
 - 
Fields inherited from class org.apache.catalina.valves.ValveBaseasyncSupported, container, containerLog, next, sm
 - 
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBasemserver
 - 
Fields inherited from interface org.apache.catalina.AccessLogPROTOCOL_ATTRIBUTE, REMOTE_ADDR_ATTRIBUTE, REMOTE_HOST_ATTRIBUTE, SERVER_NAME_ATTRIBUTE, SERVER_PORT_ATTRIBUTE
 - 
Fields inherited from interface org.apache.catalina.LifecycleAFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
 
- 
 - 
Constructor SummaryConstructors Constructor Description JsonAccessLogValve()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractAccessLogValve.AccessLogElementcreateAccessLogElement(char pattern)Create an AccessLogElement implementation.protected AbstractAccessLogValve.AccessLogElementcreateAccessLogElement(java.lang.String name, char pattern)Create an AccessLogElement implementation which needs an element name.protected AbstractAccessLogValve.AccessLogElement[]createLogElements()Parse pattern string and create the array of AccessLogElement.- 
Methods inherited from class org.apache.catalina.valves.AccessLogValvebackgroundProcess, getDirectory, getEncoding, getFileDateFormat, getMaxDays, getPrefix, getSuffix, isBuffered, isCheckExists, isRenameOnRotate, isRotatable, log, open, rotate, rotate, setBuffered, setCheckExists, setDirectory, setEncoding, setFileDateFormat, setMaxDays, setPrefix, setRenameOnRotate, setRotatable, setSuffix, startInternal, stopInternal
 - 
Methods inherited from class org.apache.catalina.valves.AbstractAccessLogValveescapeAndAppend, findLocale, getCondition, getConditionIf, getConditionUnless, getEnabled, getIpv6Canonical, getLocale, getMaxLogMessageBufferSize, getPattern, getRequestAttributesEnabled, invoke, log, setCondition, setConditionIf, setConditionUnless, setEnabled, setIpv6Canonical, setLocale, setMaxLogMessageBufferSize, setPattern, setRequestAttributesEnabled
 - 
Methods inherited from class org.apache.catalina.valves.ValveBasegetContainer, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setContainer, setNext, toString
 - 
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBasedestroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
 - 
Methods inherited from class org.apache.catalina.util.LifecycleBaseaddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
 
- 
 
- 
- 
- 
Method Detail- 
createLogElementsprotected AbstractAccessLogValve.AccessLogElement[] createLogElements() Description copied from class:AbstractAccessLogValveParse pattern string and create the array of AccessLogElement.- Overrides:
- createLogElementsin class- AbstractAccessLogValve
- Returns:
- the log elements array
 
 - 
createAccessLogElementprotected AbstractAccessLogValve.AccessLogElement createAccessLogElement(java.lang.String name, char pattern) Description copied from class:AbstractAccessLogValveCreate an AccessLogElement implementation which needs an element name.- Overrides:
- createAccessLogElementin class- AbstractAccessLogValve
- Parameters:
- name- Header name
- pattern- char in the log pattern
- Returns:
- the log element
 
 - 
createAccessLogElementprotected AbstractAccessLogValve.AccessLogElement createAccessLogElement(char pattern) Description copied from class:AbstractAccessLogValveCreate an AccessLogElement implementation.- Overrides:
- createAccessLogElementin class- AbstractAccessLogValve
- Parameters:
- pattern- char in the log pattern
- Returns:
- the log element
 
 
- 
 
-