您的位置:首页 > 理论基础 > 计算机网络

tomcat 中配置 access log 监控每个 http request 的处理时间

2012-06-05 17:46 363 查看
tomcat 6的配置官方文档:http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html

在 conf/server.xml 中配置 <Value /> 元素,可以在(Context, Host, or Engine) 等元素下配置

<ValveclassName="org.apache.catalina.valves.AccessLogValve"

directory="logs" prefix="access_log."suffix=".acc" rotatable="true"fileDateFormat="yyyy-MM-dd"

pattern="%a %D %t %u %l %s %B %v %p%r" resolveHosts="false"/>

启动tomcat之后,默认产生该日志文件的目录为 logs/ 目录下,

具体产生的信息格式如下:

127.0.0.1 37 [05/Jun/2012:17:23:43 +0800] -- 200 2806 127.0.0.1 8080 GET/cdbleasing/message.listMessagePrompt.action?_dc=1338888223333 HTTP/1.1

127.0.0.1 533 [05/Jun/2012:17:26:31 +0800]- - 200 25994 127.0.0.1 8080 GET /cdbleasing/workflow.listTaskByCandidateUser.action?_dc=1338888390970&title=&author=&processName=&page=1&start=0&limit=50&sort=%5B%7B%22property%22%3A%22receivedTime%22%2C%22direction%22%3A%22DESC%22%7D%5DHTTP/1.1

官方的配置说明:

Values for the pattern attribute are madeup of literal text strings, combined with pattern identifiers prefixed by the"%" character to cause replacement by the corresponding variablevalue from the current request and
response. The following pattern codes aresupported:

%a - Remote IP address
%A - Local IP address
%b - Bytes sent, excluding HTTP headers, or '-' if zero
%B - Bytes sent, excluding HTTP headers
%h - Remote host name (or IP address if resolveHosts is false)

%H - Request protocol
%l - Remote logical username from identd (always returns '-')

%m - Request method (GET, POST, etc.)
%p - Local port on which this request was received
%q - Query string (prepended with a '?' if it exists)
%r - First line of the request (method and request URI)
%s - HTTP status code of the response
%S - User session ID
%t - Date and time, in Common Log Format
%u - Remote user that was authenticated (if any), else '-'
%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 (can compare later with stacktraces)

There is alsosupport to write information from the cookie, incoming header, the Session orsomething else in the ServletRequest. It is modeled after the ApacheHTTP Server log configurationsyntax:

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

The shorthandpattern name common (which is also the default) corresponds to '%h %l %u %t "%r" %s %b'.
The shorthandpattern name combined appends the values of the Referer and User-Agent headers, each in double quotes, to the common pattern describedin the previous paragraph.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐