Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

{date:Date,dd-MMM-yyyy HH:mm:ss.SSS} {priority:Priority,ftype=severity,ALL;FINEST;FINER;FINE;INFO;CONFIG;WARNING;SEVERE;ERROR} [{text:thread,ftype=thread}] {text:Source,ftype=source} {string:Message,ftype=message}

Example 2:

{date:Date,yyyy-MM-dd HH:mm:ss,SSS} {priority:Priority,ftype=severity,ALL;FINEST;FINER;FINE;INFO;CONFIG;WARNING;SEVERE;ERROR} {text:thread,ftype=thread} {text:Source,ftype=source} {string:Message,ftype=message}

Custom Logging

If the Tomcat server is configured to use external logging with log4j or other java.util framework than use XpoLog pattern wizard and defenition to configure the log pattern correctly for the app to work.

...

{ip:Client IP,ftype=remoteip;type=;,} {string:Remote Log Name,ftype=remotelog;,} {string:Remote User,ftype=remoteuser;,} [{date:Date,dd/MMM/yyyy:HH:mm:ss z}] "{choice:Method,ftype=reqmethod;,GET;POST} {string:URL,ftype=requrl;,}{block,start,emptiness=true}?{string:Query,ftype=querystring;,}{block,end,emptiness=true} {string:reqprotocol,ftype=reqprotocol;,}" {number:Status,ftype=respstatus;,} {number:Bytes Sent,ftype=bytesent;,} "{string:RefererQuery,ftype=refererquery;,}{regexp:Referer,ftype=referer;refName=RefererQuery,^([\w-]+://[^?]+|/[^?]+)}" "{string:User Agent,ftype=useragent;,}"{eoe}

...

Format StringDescriptionXpoLog PatternXpoLog ftype

%a

Remote IP-address

{ipgeoip:RemoteIPClient IP,ftype=remoteipremoteip;type=;,}

remoteip

%A

Local IP-address

{ip:LocalIP,ftype=localip}

localip

%B

Size of response in bytes, excluding HTTP headers.

{number:BytesSent,ftype=bytesent}

bytesent

%b

Bytes sent, excluding HTTP headers, or '-' if zero

{text:BytesSent,ftype=bytesent}

bytesent

%{Foobar}C

The contents of cookie Foobar in the request sent to the server. Only version 0 cookies are fully supported.

{string:Cookie_< FOOBAR >}

Replace < FOOBAR > with cookie name

 

%D

The time taken to serve the request, in microseconds.

{number:ResponseTimeMicroSecs,ftype=responsetimemicro}

responsetimemicro

%F

Time taken to commit the response, in millis

{number:ResponseTimeMilliSecs,ftype=responsetimemilli}

responsetimemilli

%h

Remote host name (or IP address if enableLookups for the connector is false)

{text:Remotehost,ftype=remotehost}

 

remotehost

%H

The request protocol

{ textstring:RequestProtocolreqprotocol,ftype=reqprotocol;,}

 

reqprotocol

%{Foobar}i

The contents of Foobar: header line(s) in the request sent to the server. Changes made by other modules (e.g. mod_headers)

affect this. If you're interested in what the request header was prior to when most modules would have modified it, use mod_setenvif to copy the header into an

internal environment variable and log that value with the %{VARNAME}e described above.

{text:<FOOBAR>}

https://en.wikipedia.org/wiki/List_of_HTTP_header_fields and so on it goes for the different headers.

 

 

%{Referer}i

Referer

{ textstring:RefererQuery,ftype=refererquery;,}{regexp:Referer,ftype=referer;refName=RefererQuery,^([\w-]+://[^?]+|/[^?]+)}

 

referer

%{User-agent}i

User-agent

{ textstring:User -agentAgent,ftype=useragent;,}

 

useragent
%{X-Forwarded-For}iX-Forwarded-For

{text: X-Forwarded-For,ftype=forwardforip} OR

{ip: X-Forwarded-For,ftype=forwardforip}

 

forwardforip

%I

Current request thread name (can compare later with stacktraces)

{text:RequestThread,ftype=thread}

thread

%l

Remote logical username from identd (always returns '-')

{text:logicalname, ftype=logicalname}

logicalname

%m

The request method

{text:RequestMethod,ftype=reqmethod}

reqmethod

%{Foobar}o

write value of outgoing header with name xxx

{string:<FOOBAR>}

 

 

%p

The canonical local port of the server serving the request

{number:ServerPort,ftype=serverport}

serverport

%{format}p

The canonical local port of the server serving the request or the server's actual port or the client's actual port. Valid formats are canonicallocal, or remote.

%{canonical}p

%{local}p

%{remote}p

{number:ServerPort,ftype=serverport}

{number:LocalServerPort,ftype=localserverport}

{number:RemotePort,ftype=remoteport}

serverport

localserverportt

remoteport

%q

The query string (prepended with a ? if a query string exists, otherwise an empty string)

{text:QueryString,ftype=querystring}

OR

Suggest a regexp that will build a list of parameters as cloumns.

The query string (prepended with a ? if a query string exists, otherwise an empty string)

querystring

%r

First line of the request (method and request URI)

{text:FirstLine,ftype=reqfirstline}

TBD - might be parsed to multiple value and types}

 

reqfirstline

%s

Status. For requests that got internally redirected, this is the status of the *original* request --- %>s for the last.

{number:ResponseStatus,ftype=respstatus}

. For requests that got internally redirected, this is the status of the *original* request --- %>s for the last.

respstatus
%SUser session ID{text:UserSessionId,ftype=sessionid}sessionid

%t

Time the request was received (standard english format)

{date:Date,locale=en,dd/MMM/yyyy:HH:mm:ss z}

 

 
%{format}t

The time, in the form given by format, which should be in an extended strftime(3) format (potentially localized). If the format starts with begin: (default)

the time is taken at the beginning of the request processing. If it starts with end: it is the time when the log entry gets written, close to the end of the request

processing. In addition to the formats supported by strftime(3), the following format tokens are supported:

sec

number of seconds since the Epoch

msec

number of milliseconds since the Epoch

usec

number of microseconds since the Epoch

msec_frac

millisecond fraction

usec_frac

microsecond fraction

These tokens can not be combined with each other or strftime(3) formatting in the same format string. You can use multiple %{format}t tokens instead.

The extended strftime(3) tokens are available in 2.2.30 and later.

{date:Date,locale=en,dd/MMM/yyyy:HH:mm:ss z}

sec number of seconds since the Epoch
msec number of milliseconds since the Epoch
usec number of microseconds since the Epoch
msec_frac millisecond fraction
usec_frac microsecond fraction

 

%T

The time taken to serve the request, in seconds.

{number:ResponseTimeSecs,ftype=processrequestsec}

 

processrequestseci

%u

Remote user that was authenticated (if any), else '-'

{text:User,ftype=remoteuser}

Remote user (from auth; may be bogus if return status (%s) is 401)

remoteuser

%U

The URL path requested, not including any query string.

{text:RequestURL,ftype=requrl}

The URL path requested, not including any query string.

requrl

%v

 Local server name

{text:ServerName,ftype=servername}

servername
  

 

 

...