Undertow WildFly Subsystem Configuration - access-log

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

This page documents the configuration of the Undertow AccessLogHandler. The handler generates log entries for each request. The handler can log any attributed that is provided with the ExchangeAttribute mechanism. The most common are presented below in the Log Patterns section.

<subsystem xmlns="urn:jboss:domain:undertow:3.0">

   ...

   <server name="default-server">
      ...
      <host name="default-host" alias="localhost">
         <location name="/" .../>
         <access-log/>
         ...
      </host>
   </server>

   <servlet-container .../>

   ...

 </subsystem>

Configurable Attributes

pattern


The default value is "common".

worker

The default value is "default".

directory

The default value is "${jboss.server.log.dir}"

relative-to

The default value is "access_log"

suffix

The default value is ".log"

rotate

The default value is "true"

use-server-log

The default value is "false"

extended

The default value is "false"

predicate

Log Patterns

Named Patterns

"common": %h %l %u %t "%r" %s %b

"combined": %h %l %u %t "%r" %s %b "%{i,Referer}" "%{i,User-Agent}"

Pattern Elements

  • %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 protocol
  • %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

The handler can also log cookie, header or session information. The patterns are borrowed from the apache log syntax:

  • %{i,xxx} incoming headers
  • %{o,xxx} outgoing response headers
  • %{c,xxx} specific cookie
  • %{r,xxx} xxx an attribute in the ServletRequest
  • %{s,xxx} xxx an attribute in the HttpSession