Linux如何配置和使用Tomcat访问日志

Access Log Valve用来创建日志文件,格式与标准的web server日志文件相同。可以使用用日志分析工具对日志进行分析,跟踪页面点击次数、用户会话的活动等。Access Log Valve的很多配置和行为特性与File Logger相同,包括每晚午夜自动切换日志文件。Access Log Valve可以和任何Catalina容器关联,记录该容器处理的所有请求。
例子如下:

className 实现的Java类名。必须被设置成org.apache.catalina.valves.AccessLogValve。
directory 存放日志文件的目录,可以是相对路径或者绝对路径。如果使用相对路径,是指相对于 $CATALINA_HOME的路径。如果不指定directory属性,缺省值是“logs”(相对于 $CATALINA_HOME)
pattern 需要记录的请求/响应不同信息域的格式布局。如果是“common”或者“combine”,说明选择标准格式。下面会有关于配置这个属性的更多信息。
prefix 日志文件名的前缀。如果没有指定,缺省值是“access_log.”。如果不想使用前缀,使用长度为0的字符串。
resolveHosts 将远端主机的IP地址通过DNS查询转换成主机名,设为true。如果为false,忽略DNS查询,报告远端的IP地址。
suffix 日志文件名的后缀。如果没有指定,缺省值是“”。如果不想使用后缀,使用长度为0的字符串。
rotatable 缺省值为true,用来决定日志是否翻转的标志。如果为false,日志文件永远不翻转,并且忽略fileDataFormat。要谨慎使用。
condition 打开条件日志。如果设置了这个属性,只有在ServletRequest.getAttribute()是null的时候,才会为请求创建日志。比如,如果 condition设为junk,则只有在Servlet.getAttribute(“junk”)==null的时候,才会记录这个请求。使用过滤器,可以很容易设置(或者取消设置)不同请求的属性。
fileDateFormat 允许在日志文件名称中使用定制的日期格式。日志的格式也决定了日志文件翻转的频率。如果想每个小时翻转一次,将这个值设为yyyy-MM-dd.HH
pattern属性值由字符串常量和pattern标识符加上前缀”%”组合而成。pattern标识符加上前缀”%”,用来代替当前请求/响应中的对应的变量值。目前支持如下的pattern:
* %a – 远端IP地址
* %A – 本地IP地址
* %b – 发送的字节数,不包括HTTP头,如果为0,使用”-”
* %B – 发送的字节数,不包括HTTP头
* %h – 远端主机名(如果resolveHost=false,远端的IP地址)
* %H – 请求协议
* %l – 从identd返回的远端逻辑用户名(总是返回 ‘-‘)
* %m – 请求的方法(GET,POST,等)
* %p – 收到请求的本地端口号
* %q – 查询字符串(如果存在,以 ‘?’开始)
* %r – 请求的第一行,包含了请求的方法和URI
* %s – 响应的状态码
* %S – 用户的session ID
* %t – 日志和时间,使用通常的Log格式
* %u – 认证以后的远端用户(如果存在的话,否则为’-‘)
* %U – 请求的URI路径
* %v – 本地服务器的名称
* %D – 处理请求的时间,以毫秒为单位
* %T – 处理请求的时间,以秒为单位
结果举例如下:
– – – [29/Aug/2005:09:34:48 +0800] “GET /waptest/server?productid=qqportal&actionid=index&user_type=1&station=tencent&mid=12345678908888&mobile_no=13724179457&qazxcdew=1 HTTP/1.1” 404 710 0.015 “-” “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.11 [zh-cn]”
– – – [29/Aug/2005:10:27:29 +0800] “OPTIONS / HTTP/1.1” 404 668 0.203 “-” “-” “Microsoft-WebDAV-MiniRedir/5.1.2600”

发表评论

电子邮件地址不会被公开。 必填项已用*标注