Package org.dspace.app.rest.utils
Class DSpaceAPIRequestLoggingFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.web.filter.OncePerRequestFilter
-
- org.springframework.web.filter.AbstractRequestLoggingFilter
-
- org.dspace.app.rest.utils.DSpaceAPIRequestLoggingFilter
-
- All Implemented Interfaces:
javax.servlet.Filter,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.EnvironmentAware,org.springframework.core.env.EnvironmentCapable,org.springframework.web.context.ServletContextAware
public class DSpaceAPIRequestLoggingFilter extends org.springframework.web.filter.AbstractRequestLoggingFilterThis class setup the basic attributes in Mapped Diagnostic Context useful for trouble-shooting of the DSpace Server Webapp and make sure to include a first log entry for all the request nothing which is the referer. This logging filter can be modified at runtime altering the value of the logging.server.* configuration properties to include more details about the incoming request (payload, headers, query string, client info) The MDC attributes are as follow: - an unique randomly generated UUID is assigned to every request (requestID) - the correlation ID provided by friendly client applications (such as our angular UI), if specified as X-Correlation-ID (correlationID)- Author:
- Andrea Bollini (andrea.bollini at 4science.it)
-
-
Field Summary
-
Fields inherited from class org.springframework.web.filter.AbstractRequestLoggingFilter
DEFAULT_AFTER_MESSAGE_PREFIX, DEFAULT_AFTER_MESSAGE_SUFFIX, DEFAULT_BEFORE_MESSAGE_PREFIX, DEFAULT_BEFORE_MESSAGE_SUFFIX
-
-
Constructor Summary
Constructors Constructor Description DSpaceAPIRequestLoggingFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidafterRequest(javax.servlet.http.HttpServletRequest request, String message)protected voidbeforeRequest(javax.servlet.http.HttpServletRequest request, String message)protected intgetMaxPayloadLength()protected booleanisIncludeClientInfo()protected booleanisIncludeHeaders()protected booleanisIncludePayload()protected booleanisIncludeQueryString()protected booleanshouldLog(javax.servlet.http.HttpServletRequest request)-
Methods inherited from class org.springframework.web.filter.AbstractRequestLoggingFilter
createMessage, doFilterInternal, getHeaderPredicate, getMessagePayload, setAfterMessagePrefix, setAfterMessageSuffix, setBeforeMessagePrefix, setBeforeMessageSuffix, setHeaderPredicate, setIncludeClientInfo, setIncludeHeaders, setIncludePayload, setIncludeQueryString, setMaxPayloadLength, shouldNotFilterAsyncDispatch
-
Methods inherited from class org.springframework.web.filter.OncePerRequestFilter
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterErrorDispatch
-
-
-
-
Method Detail
-
shouldLog
protected boolean shouldLog(javax.servlet.http.HttpServletRequest request)
- Overrides:
shouldLogin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
isIncludePayload
protected boolean isIncludePayload()
- Overrides:
isIncludePayloadin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
isIncludeHeaders
protected boolean isIncludeHeaders()
- Overrides:
isIncludeHeadersin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
isIncludeQueryString
protected boolean isIncludeQueryString()
- Overrides:
isIncludeQueryStringin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
isIncludeClientInfo
protected boolean isIncludeClientInfo()
- Overrides:
isIncludeClientInfoin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
getMaxPayloadLength
protected int getMaxPayloadLength()
- Overrides:
getMaxPayloadLengthin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
beforeRequest
protected void beforeRequest(javax.servlet.http.HttpServletRequest request, String message)- Specified by:
beforeRequestin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
afterRequest
protected void afterRequest(javax.servlet.http.HttpServletRequest request, String message)- Specified by:
afterRequestin classorg.springframework.web.filter.AbstractRequestLoggingFilter
-
-