Class AccessLogHandler
java.lang.Object
io.quarkus.vertx.http.runtime.filters.accesslog.AccessLogHandler
- All Implemented Interfaces:
io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>
public class AccessLogHandler
extends Object
implements io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>
Access log handler. This handler will generate access log messages based on the provided format string,
and pass these messages into the provided
AccessLogReceiver
.
This handler can log any attribute that is provides via the ExchangeAttribute
mechanism. A general guide to the most common attribute is provided before, however this mechanism is extensible.
This factory produces token handlers for the following patterns
- %a - Remote IP address
- %A - Local IP address
- %b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
- %B - Bytes sent, excluding HTTP headers
- %h - Remote host name
- %H - Request getProtocol
- %l - Remote logical username from identd (always returns '-')
- %m - Request method
- %p - Local port
- %q - Query string (excluding the '?' character)
- %r - First line of the request
- %s - HTTP status code of the response
- %t - Date and time, in Common Log Format format
- %u - Remote user that was authenticated
- %U - Requested URL path
- %v - Local server name
- %D - Time taken to process the request, in millis
- %T - Time taken to process the request, in seconds
- %I - current Request thread name (can compare later with stacktraces)
In addition, the caller can specify one of the following aliases for commonly utilized patterns:
- common -
%h %l %u %t "%r" %s %b
- combined -
%h %l %u %t "%r" %s %b "%{i,Referer}" "%{i,User-Agent}"
There is also support to write information from the cookie, incoming
header, or the session
It is modeled after the apache syntax:
%{i,xxx}
for incoming headers%{o,xxx}
for outgoing response headers%{c,xxx}
for a specific cookie%{r,xxx}
xxx is an attribute in the ServletRequest%{s,xxx}
xxx is an attribute in the HttpSession%{d,xxx}
xxx is a data item in the exchange%{X,xxx}
xxx is a key in the Vert.X MDC
- Author:
- Stuart Douglas
-
Constructor Summary
ConstructorDescriptionAccessLogHandler
(AccessLogReceiver accessLogReceiver, String formatString, ExchangeAttribute attribute) AccessLogHandler
(AccessLogReceiver accessLogReceiver, String formatString, ClassLoader classLoader, Optional<String> excludePattern) -
Method Summary
-
Constructor Details
-
AccessLogHandler
public AccessLogHandler(AccessLogReceiver accessLogReceiver, String formatString, ClassLoader classLoader, Optional<String> excludePattern) -
AccessLogHandler
public AccessLogHandler(AccessLogReceiver accessLogReceiver, String formatString, ExchangeAttribute attribute)
-
-
Method Details