Access-log
From Resin 3.0
(migration) |
(added %l and {xxx} to %n argument (after reading the source code)) |
||
(One intermediate revision by one user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Directives]] | [[Category:Directives]] | ||
− | + | An '''access-log''' receives output describing each request received by | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
the server. It is commonly used in conjunction with analyzing tools to | the server. It is commonly used in conjunction with analyzing tools to | ||
determine statistics and patterns of use for a website. | 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]]). | ||
== directives == | == directives == | ||
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 "-" | ||
|} | |} | ||
+ | |||
+ | == Custom log handlers == | ||
+ | |||
+ | resin:type allows for custom logging. Applications can extend a custom class | ||
+ | from {{javadoc|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 | ||
+ | <tt>test.MyLog</tt> class that extends | ||
+ | {{javadoc|com.caucho.http.log.AccessLog}}. Since the configuration is | ||
+ | contained within a host, the <tt>test/Mylog.class</tt> must be available in the | ||
+ | [[class-loader]] for the host. | ||
+ | |||
+ | <!-- pre --> | ||
+ | ... | ||
+ | <host> | ||
+ | <access-log resin:type='test.MyLog'> | ||
+ | path='$server-root/foo/error.log' | ||
+ | rollover-period='1W'> | ||
+ | <init> | ||
+ | <foo>bar</foo> | ||
+ | </init> | ||
+ | </access-log> | ||
+ | ... | ||
+ | <!-- /pre --> | ||
+ | |||
+ | == See also == | ||
+ | |||
+ | ; [[Logging]] : A general overview of logging facilities in Resin |
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 |
[edit] 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 |
[edit] 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 "-" |
[edit] 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> ...
[edit] See also
- Logging
- A general overview of logging facilities in Resin