public class LogFilter extends Object implements javax.servlet.Filter
filter.consumer(
(message) -> { log.debug(message); }
, () -> { return log.isDebugEnabled();} );
Filter configuration - when
LogFilter was implemented as example of usage RequestLimiter class/lib. By
default is LogFilter configured with empty RequestLimiter so it is applied
for all requests where is configured.
But it is possible to limit LogFilter usage by configuration of RequestLimiter.
See this class for configuration possibilities.
Example for limit LogFilter functionality using path and method
filter.limit()
.path()
.include("/foo/**")
.exclude("/foo/bar", "POST");
Filter configuration - what
| Constructor and Description |
|---|
LogFilter() |
| Modifier and Type | Method and Description |
|---|---|
LogFilter |
consumer(Consumer consumer,
ConsumerStatus consumerStatus)
Setup consumer of LogFilter messages
|
void |
destroy() |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain) |
protected void |
doFilterInternal(ServletRequestWrapper request,
ServletResponseWrapper response,
javax.servlet.FilterChain filterChain) |
LogFilter |
headers(boolean value)
Configure printing of header info in request and response.
|
LogFilter |
identity(boolean value)
Configure printing of request to print principal name.
|
void |
init(javax.servlet.FilterConfig fc) |
static LogFilter |
instance() |
LogFilter |
jsonable(Jsonable jsonable)
Setup jsonable decision provider.
|
RequestLimiter<LogFilter> |
limit()
Configure filter processing limitations.
|
LogFilter |
oneLine(boolean value)
Configure printing of payload as one line
|
LogFilter |
payloads(boolean value)
Configure printing of payload info in request and response.
|
LogFilter |
printable(Printable printable)
Setup printable decision provider.
|
LogFilter |
requestBeforePrefix(String value)
String to identify start request message
if it is null message is not printed at all.
|
protected void |
requestData(ServletRequestWrapper request,
StringBuilder pathbuff,
StringBuilder requestheaderbuff,
StringBuilder requestpayloadbuff) |
LogFilter |
requestHeaderFilter(String value)
Add filter for displayed header info.
|
LogFilter |
requestHeaders(boolean value)
Configure printing of header info in request.
|
LogFilter |
requestPayloads(boolean value)
Configure printing of payload info in request.
|
LogFilter |
requestPrefix(String value)
String to identify request info message
if it is null message is not printed at all.
|
protected void |
responseData(ServletResponseWrapper response,
StringBuilder responseheadersbuff,
StringBuilder responsepayloadbuff) |
LogFilter |
responseHeaderFilter(String value)
Add filter for displayed header info.
|
LogFilter |
responseHeaders(boolean value)
Configure printing of header info in response.
|
LogFilter |
responsePayloads(boolean value)
Configure printing of payload info in response.
|
LogFilter |
responsePrefix(String value)
String to identify response info message
if it is null message is not printed at all.
|
LogFilter |
truncateJsonLiteral(int value)
Configure max length of string literal of jsonable payload to print
|
LogFilter |
truncateLineTo(int value)
Configure max line length of printable payload to print
|
LogFilter |
truncateTo(int value)
Configure max length of printable payload to print
|
LogFilter |
xmlable(Xmlable xmlable)
Setup xmlable decision provider.
|
public static LogFilter instance()
public void doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
throws IOException,
javax.servlet.ServletException
doFilter in interface javax.servlet.FilterIOExceptionjavax.servlet.ServletExceptionpublic void init(javax.servlet.FilterConfig fc)
throws javax.servlet.ServletException
init in interface javax.servlet.Filterjavax.servlet.ServletExceptionpublic void destroy()
destroy in interface javax.servlet.Filterpublic RequestLimiter<LogFilter> limit()
public LogFilter consumer(Consumer consumer, ConsumerStatus consumerStatus)
consumer - message consumer (default is LogConsumer)consumerStatus - consumer on/off status provider (default ia LogConsumerStatus)public LogFilter printable(Printable printable)
printable - printable decision provider (decision ia SiplePrintable)public LogFilter jsonable(Jsonable jsonable)
printable - jsonable decision provider (decision ia SipleJsonablw)public LogFilter xmlable(Xmlable xmlable)
printable - xmlable decision provider (decision ia SipleXmlablw)public LogFilter headers(boolean value)
value - true if info should be loggedpublic LogFilter payloads(boolean value)
value - true if info should be loggedpublic LogFilter requestHeaders(boolean value)
value - true if info should be loggedpublic LogFilter requestPayloads(boolean value)
value - true if info should be loggedpublic LogFilter responseHeaders(boolean value)
value - true if info should be loggedpublic LogFilter responsePayloads(boolean value)
value - true if info should be loggedpublic LogFilter oneLine(boolean value)
value - true if info should be loggedpublic LogFilter truncateTo(int value)
value - max value of payload (0 unlimited)public LogFilter truncateLineTo(int value)
value - max value of payload line (0 unlimited)public LogFilter truncateJsonLiteral(int value)
value - max value of string literal (0 unlimited)public LogFilter requestBeforePrefix(String value)
value - start request prefix (default 'REQ')public LogFilter requestPrefix(String value)
value - start request prefix (default 'REQ')public LogFilter responsePrefix(String value)
value - start request prefix (default 'RES')public LogFilter requestHeaderFilter(String value)
value - name of the header property to be displayedpublic LogFilter responseHeaderFilter(String value)
value - name of the header property to be displayedpublic LogFilter identity(boolean value)
value - true if info should be loggedprotected void doFilterInternal(ServletRequestWrapper request, ServletResponseWrapper response, javax.servlet.FilterChain filterChain) throws javax.servlet.ServletException, IOException
javax.servlet.ServletExceptionIOExceptionprotected void requestData(ServletRequestWrapper request, StringBuilder pathbuff, StringBuilder requestheaderbuff, StringBuilder requestpayloadbuff)
protected void responseData(ServletResponseWrapper response, StringBuilder responseheadersbuff, StringBuilder responsepayloadbuff)
Copyright © 2020. All rights reserved.