Base class for Filters that perform logging operations before and after a request is processed.

Subclasses should override the beforeRequest(HttpServletRequest, String) and
afterRequest(HttpServletRequest, String) methods to perform the actual logging around the request.

Subclasses are passed the message to write to the log in the beforeRequest and
afterRequest methods. By default, only the URI of the request is logged. However, setting the
includeQueryString property to true will cause the query string of the request to be
included also. The payload (body) of the request can be logged via the includePayload flag. Note that
this will only log that which is read, which might not be the entire payload.

Prefixes and suffixes for the before and after messages can be configured using the
beforeMessagePrefix, afterMessagePrefix, beforeMessageSuffix and
afterMessageSuffix properties,

The default value is "true" so that the filter may log a "before" message
at the start of request processing and an "after" message at the end from
when the last asynchronously dispatched thread is exiting.

setAfterMessageSuffix

Set the value that should be appended to the log message written after a request is processed.

shouldFilterAsyncDispatches

protected boolean shouldFilterAsyncDispatches()

The default value is "true" so that the filter may log a "before" message
at the start of request processing and an "after" message at the end from
when the last asynchronously dispatched thread is exiting.