Class WebRequestTraceFilter
- java.lang.Object
- org.springframework.web.filter.GenericFilterBean
- org.springframework.web.filter.OncePerRequestFilter
- org.springframework.boot.actuate.trace.WebRequestTraceFilter
- 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.core.Ordered
,org.springframework.web.context.ServletContextAware
public class WebRequestTraceFilter extends org.springframework.web.filter.OncePerRequestFilter implements org.springframework.core.Ordered
ServletFilter
that logs all requests to aTraceRepository
.
Constructor Summary
Constructors Constructor Description WebRequestTraceFilter(TraceRepository repository, TraceProperties properties)
Create a newWebRequestTraceFilter
instance.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain)
protected void
enhanceTrace(Map<String,Object> trace, javax.servlet.http.HttpServletResponse response)
int
getOrder()
protected Map<String,Object>
getTrace(javax.servlet.http.HttpServletRequest request)
protected void
postProcessRequestHeaders(Map<String,Object> headers)
Post process request headers before they are added to the trace.void
setDumpRequests(boolean dumpRequests)
Debugging feature.void
setErrorAttributes(org.springframework.boot.autoconfigure.web.ErrorAttributes errorAttributes)
void
setOrder(int order)
Methods inherited from class org.springframework.web.filter.OncePerRequestFilter
doFilter, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
Constructor Detail
WebRequestTraceFilter
public WebRequestTraceFilter(TraceRepository repository, TraceProperties properties)
Create a newWebRequestTraceFilter
instance.- Parameters:
repository
- the trace repositoryproperties
- the trace properties
Method Detail
setDumpRequests
public void setDumpRequests(boolean dumpRequests)
Debugging feature. If enabled, and trace logging is enabled then web request headers will be logged.- Parameters:
dumpRequests
- if requests should be logged
getOrder
public int getOrder()
- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
setOrder
public void setOrder(int order)
doFilterInternal
protected void doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain) throws javax.servlet.ServletException, IOException
- Specified by:
doFilterInternal
in classorg.springframework.web.filter.OncePerRequestFilter
- Throws:
javax.servlet.ServletException
IOException
postProcessRequestHeaders
protected void postProcessRequestHeaders(Map<String,Object> headers)
Post process request headers before they are added to the trace.- Parameters:
headers
- a mutable map containing the request headers to trace- Since:
- 1.4.0
enhanceTrace
protected void enhanceTrace(Map<String,Object> trace, javax.servlet.http.HttpServletResponse response)
setErrorAttributes
public void setErrorAttributes(org.springframework.boot.autoconfigure.web.ErrorAttributes errorAttributes)