Tomcat提供了很多特色技术,这些技术不是标准的实现,在其他的Servlet/jsp容器中多数是不支持这些技术的。
Tomcat阀可以对Http请求进行预处理,完成一些监测和管理功能。类似于Servlet过滤器。使用这些阀只需要在Server.xml中配置<Valve>元素。它们可以被加入到<Engine>、<Host>、<Context>元素中,分别对应不同的作用范围。
它的阀共有四种,这里是客户访问日志阀(Access Log Valve),其主要功能为记录客户的请求信息日志文件。具体属性如下:
className | org.apache.catalina.valves.AccessLogValve |
directory | 日志存放的目录,可以是相对或绝对目录。相对目录是相对<TOMCAT_HOME>,默认为logs |
resolveHosts | 是否将IP地址转换为主机名保存 |
prefix | 日志的前缀,默认为access_log |
suffix | 日志的后缀,默认为“” |
rotatable | 日志是否可以旋转,默认为true,此时生成的文件名为prefix.时间.suffix。设置为false,tomcat会忽略时间,生成的文件名为prefix.suffix,最后导致你的日志文件过大 |
condition | 条件日志,如设置为“cliff”,只有在ServletRequest.getAttribute(“cliff”)为空时才记录日志 |
fileDateFormat | 日志文件名中的日期格式,默认为“yyyy-MM-dd",如果要按小时改为yyyy-MM-dd.HH" |
pattern | 日志的格式和内容,默认为common |
pattern
可以设置成common或者combined,这两个值集成了一些显示方式,也可以自己设置显示格式,
支持如下的编码:
|
common的值:%h %l %u %t %r %s %b
combined的值:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}I
例如:配置如下元素
<Valve className=”
org.apache.catalina.valves.AccessLogValve” directory=”logs” prefix=”mylog” suffix=”.txt”pattern=”commom” resolveHost=”false” />
启动Tomcat,输入http://localhost:8080/admin并登录,可以看到logs目录下生成了一个manager.2008-05-14.log文件,内容为:
27.0.0.1 - - [14/May/2008:13:40:28 +0800] "HEAD /netbeans-tomcat-status-test HTTP/1.1" 404 1036
127.0.0.1 - - [14/May/2008:13:40:30 +0800] "HEAD /netbeans-tomcat-status-test HTTP/1.1" 404 1036
127.0.0.1 - - [14/May/2008:13:40:30 +0800] "HEAD /netbeans-tomcat-status-test HTTP/1.1" 404 1036
127.0.0.1 - - [14/May/2008:13:40:30 +0800] "HEAD /netbeans-tomcat-status-test HTTP/1.1" 404 1036
127.0.0.1 - - [14/May/2008:13:40:30 +0800] "HEAD /netbeans-tomcat-status-test HTTP/1.1" 404 1036
127.0.0.1 - - [14/May/2008:13:43:30 +0800] "GET /admin/ HTTP/1.1" 200 2627
127.0.0.1 - - [14/May/2008:13:43:30 +0800] "GET /admin/tree-control-test.css HTTP/1.1" 304 -
127.0.0.1 - - [14/May/2008:13:43:30 +0800] "GET /admin/admin.css HTTP/1.1" 304 -
127.0.0.1 - - [14/May/2008:13:43:30 +0800] "GET /admin/images/LoginBackgroundTile.gif HTTP/1.1" 304 -
127.0.0.1 - - [14/May/2008:13:43:30 +0800] "GET /admin/images/Login.jpg HTTP/1.1" 304 -
127.0.0.1 - - [14/May/2008:13:43:35 +0800] "POST /admin/j_security_check HTTP/1.1" 302 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/ HTTP/1.1" 302 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/frameset.jsp HTTP/1.1" 200 951
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/banner.jsp HTTP/1.1" 200 2135
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/blank.jsp HTTP/1.1" 200 579
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/setUpTree.do HTTP/1.1" 200 8042
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/TomcatBanner.jpg HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/BlueTile.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/PaperTexture.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/handledownmiddle.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Server.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/handlerightlast.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/linevertical.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Service.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/folder_16_pad.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Mailsession.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Realm.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/handledownlast.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/linemiddlenode.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Users.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Groups.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Datasource.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/Roles.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/EnvironmentEntries.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:35 +0800] "GET /admin/images/linelastnode.gif HTTP/1.1" 304 -
127.0.0.1 - admin [14/May/2008:13:43:36 +0800] "POST /admin/logOut.do HTTP/1.1" 302 -
127.0.0.1 - - [14/May/2008:13:43:36 +0800] "GET /admin/index.jsp HTTP/1.1" 200 2583