Access-log

From Resin 3.0

(Difference between revisions)
Jump to: navigation, search
(migration)
(added %l and {xxx} to %n argument (after reading the source code))
 
Line 52: Line 52:
 
||%\{xxx}c||cookie value xxx
 
||%\{xxx}c||cookie value xxx
 
|-
 
|-
||%n||request attribute
+
||%\{xxx}n||request attribute
 
|-
 
|-
 
||%r||request URL
 
||%r||request URL
Line 67: Line 67:
 
|-
 
|-
 
||%U||request URL
 
||%U||request URL
 +
|-
 +
||%l||Not used. Recognized but always results in "-"
 
|}
 
|}
  

Latest revision as of 01:24, 15 October 2008


An access-log receives output describing each request received by the server. It is commonly used in conjunction with analyzing tools to determine statistics and patterns of use for a website.

The access-log directive controls the information Resin writes with each request. It can appear in any environment (i.e. within a server, host, or web-app).

Contents

directives

directive meaning default
auto-flush flush after each log entry false
path output path for the stream either path-format or path is required
path-format the name of a file to write the log to, date format escape sequences are replaced with the current date and time either path or path-format is required
rollover-period how often to rollover the log. Specify a period in days (15D), weeks (2W), months (1M), or hours (1h) none
rollover-size maximum size of the file before a rollover occurs. Specify a size in bytes (50000), kb (128kb), or megabytes (10mb) 1mb
archive-format the format for the archive filename when a rollover occurs path + ".%Y%m%d" or path + ".%Y%m%d.%H" if rollover-period < 1 day

format

code meaning
%b content length
%h remote IP address
%\{xxx}i request header xxx
%\{xxx}o response header xxx
%\{xxx}c cookie value xxx
%\{xxx}n request attribute
%r request URL
%s status code
%\{xxx}t date with optional time format
%T time of request in seconds
%D time of request in microseconds (3.0.15)
%u remote user
%U request URL
%l Not used. Recognized but always results in "-"

Custom log handlers

resin:type allows for custom logging. Applications can extend a custom class from com.caucho.http.log.AccessLog. Bean-style initialization can be used to set bean parameters in the custom class.

The followng example shows the configuration for a theoretical test.MyLog class that extends com.caucho.http.log.AccessLog. Since the configuration is contained within a host, the test/Mylog.class must be available in the class-loader for the host.

...
<host>
  <access-log resin:type='test.MyLog'>
             path='$server-root/foo/error.log'
             rollover-period='1W'>
    <init>
      <foo>bar</foo>
    </init>
  </access-log>
  ...

See also

Logging 
A general overview of logging facilities in Resin
Personal tools