Interface AccessLog
- All Known Implementing Classes:
AbstractAccessLogValve
,AccessLogAdapter
,AccessLogValve
,ExtendedAccessLogValve
,JDBCAccessLogValve
,JsonAccessLogValve
,StandardEngine.NoopAccessLog
public interface AccessLog
Intended for use by a
Valve
to indicate that the Valve
provides access logging. It is used by the
Tomcat internals to identify a Valve that logs access requests so requests that are rejected earlier in the
processing chain can still be added to the access log. Implementations of this interface should be robust against the
provided Request
and Response
objects being null, having null attributes or any other 'oddness' that
may result from attempting to log a request that was almost certainly rejected because it was mal-formed.-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Name of request attribute used to override the protocol recorded by the AccessLog.static final String
Name of request attribute used to override the remote address recorded by the AccessLog.static final String
Name of request attribute used to override remote host name recorded by the AccessLog.static final String
Name of request attribute used to override the server name recorded by the AccessLog.static final String
Name of request attribute used to override the server port recorded by the AccessLog. -
Method Summary
Modifier and TypeMethodDescriptionboolean
void
Add the request/response to the access log using the specified processing time.void
setRequestAttributesEnabled
(boolean requestAttributesEnabled) Should this valve use request attributes for IP address, hostname, protocol and port used for the request?
-
Field Details
-
REMOTE_ADDR_ATTRIBUTE
Name of request attribute used to override the remote address recorded by the AccessLog.- See Also:
-
REMOTE_HOST_ATTRIBUTE
Name of request attribute used to override remote host name recorded by the AccessLog.- See Also:
-
PROTOCOL_ATTRIBUTE
Name of request attribute used to override the protocol recorded by the AccessLog.- See Also:
-
SERVER_NAME_ATTRIBUTE
Name of request attribute used to override the server name recorded by the AccessLog.- See Also:
-
SERVER_PORT_ATTRIBUTE
Name of request attribute used to override the server port recorded by the AccessLog.- See Also:
-
-
Method Details
-
log
Add the request/response to the access log using the specified processing time.- Parameters:
request
- Request (associated with the response) to logresponse
- Response (associated with the request) to logtime
- Time taken to process the request/response in nanoseconds (use 0 if not known); in Tomcat versions prior to 10, the time unit was milliseconds
-
setRequestAttributesEnabled
void setRequestAttributesEnabled(boolean requestAttributesEnabled) Should this valve use request attributes for IP address, hostname, protocol and port used for the request? The attributes used are:- org.apache.catalina.RemoteAddr
- org.apache.catalina.RemoteHost
- org.apache.catalina.Protocol
- org.apache.catalina.ServerName
- org.apache.catalina.ServerPost
- Parameters:
requestAttributesEnabled
-true
causes the attributes to be used,false
causes the original values to be used.
-
getRequestAttributesEnabled
boolean getRequestAttributesEnabled()- Returns:
true
if the attributes will be logged, otherwisefalse
- See Also:
-