Access-log
From Resin 3.0
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