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:
jakarta.servlet.Filter,Aware,BeanNameAware,DisposableBean,InitializingBean,EnvironmentAware,EnvironmentCapable,ServletContextAware
This 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_SUFFIXFields inherited from class org.springframework.web.filter.OncePerRequestFilter
ALREADY_FILTERED_SUFFIXFields inherited from class org.springframework.web.filter.GenericFilterBean
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidafterRequest(jakarta.servlet.http.HttpServletRequest request, String message) protected voidbeforeRequest(jakarta.servlet.http.HttpServletRequest request, String message) protected intprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanshouldLog(jakarta.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, shouldNotFilterAsyncDispatchMethods inherited from class org.springframework.web.filter.OncePerRequestFilter
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterErrorDispatchMethods inherited from class org.springframework.web.filter.GenericFilterBean
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
-
Constructor Details
-
DSpaceAPIRequestLoggingFilter
public DSpaceAPIRequestLoggingFilter()
-
-
Method Details
-
shouldLog
protected boolean shouldLog(jakarta.servlet.http.HttpServletRequest request) - Overrides:
shouldLogin classAbstractRequestLoggingFilter
-
isIncludePayload
protected boolean isIncludePayload()- Overrides:
isIncludePayloadin classAbstractRequestLoggingFilter
-
isIncludeHeaders
protected boolean isIncludeHeaders()- Overrides:
isIncludeHeadersin classAbstractRequestLoggingFilter
-
isIncludeQueryString
protected boolean isIncludeQueryString()- Overrides:
isIncludeQueryStringin classAbstractRequestLoggingFilter
-
isIncludeClientInfo
protected boolean isIncludeClientInfo()- Overrides:
isIncludeClientInfoin classAbstractRequestLoggingFilter
-
getMaxPayloadLength
protected int getMaxPayloadLength()- Overrides:
getMaxPayloadLengthin classAbstractRequestLoggingFilter
-
beforeRequest
- Specified by:
beforeRequestin classAbstractRequestLoggingFilter
-
afterRequest
- Specified by:
afterRequestin classAbstractRequestLoggingFilter
-