最近需要配置tomcat访问日志,通过造访他人的博客,再根据apache官方的一些文章,才逐渐清晰了许多
配置方法很简单:
在server.xml里的<host>标签下加上
<Valve
className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="common"
resolveHosts="false"/>
就可以了,下面咱们逐一分析各个参数。
className
|
官方文档上说了
This MUST be set to
org.apache.catalina.valves.AccessLogValve
to use the default
access log valve. &<60; 想配置访问日志?这就必须得写成这样。 |
directory |
这个东西是日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,当然你也可以修改,我就给改成了D:\ |
prefix
|
这个是日志文件的名称前缀,我的日志名称为localhost_access_log.2007-09-22.txt,前面的前缀就是这个localhost_access_log |
suffix
|
这就是后缀名啦,可以改成别的 |
pattern |
这个是最主要的参数了,具体的咱们下面讲,这个参数的内容比较丰富。 |
resolveHosts
|
如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址啦 |
还有一些参数:
rotatable
|
默认为true,默认的设置使得你的tomcat生成的文件命为prefix(前缀)+.+时间(一般是按天算)+.+
suffix(
后缀),参照我的日志名就知道了:
localhost_access_log.2007-09-22.txt
使用这个需要谨慎,因为你将其设置为false的话,tomcat会忽略时间,不会新生成文件,最后导致你的文件超级大,这样生成的文件名就是:localhost_access_log.txt |
condition
|
这个参数不太实用,可以设置任何值,比如咱们设置成condition="tkq",那么只有当ServletRequest.getAttribute
("tkq")为空的时候,才会被记录下来 |
fileDateFormat
|
最后的一个参数,很明白,这就是时间格式嘛,但是这个时间格式是针对日志文件起作用的,还记得咱们生成的日志文件全名么:localhost_access_log.2007-09-22.txt,这里面的2007-09-22就是这么来的,如果你想让tomcat每小时生成一个日志文件,也很简单,将这个值设置为:fileDateFormat="
yyyy-MM-dd.HH",当然也可以按分钟生成什么的,自己改改吧
|
上面是所有的9个参数,刚才咱们说了,pattern这个参数的值比较多,咱们拿下来单独说:
pattern可以设置成两种方式,第一种是pattern="common",第二种是pattern="combined"
这就可以控制日志里面的格式,各位说了,pattern就这两种?common和combined又是什么意思,具体是什么格式呢?
别着急,咱们一点一点看,其实pattern是可以设置的,common和combined只是集成了一些显示方式,就是将显示方式给组合了,pattern的实际值有如下几种,都是
后面
一个字母,
前面
一个%百分号
咱们先贴出来我的日志里面的一条记录,对应着看
127.0.0.1 192.168.254.108 - -1
127.0.0.1 HTTP/1.1 - GET 80&<60; GET /rightmainima/leftbott4.swf HTTP/1.1
304 5563A67708646B6AA299C33D59BE132A [22/Sep/2007:10:08:52 +0800] -
/rightmainima/leftbott4.swf localhost 0
0.000
%a
|
这是记录访问者的IP,在日志里是
127.0.0.1
|
%A
|
这是记录本地服务器的IP
,在日志里是
192.168.254.108
|
%b |
这是发送信息的字节数,不涵括http头,如果字节数为0的话,显示为- |
%B |
看tomcat的解释,没看出来与b%的区别,但我这里显示为-1,没想明白,望知道者告知,我把官方解释贴出来吧
Bytes sent, excluding HTTP headers |
%h |
这个就是服务器名称了,如果resolveHosts为false的话,这里就是IP地址了,我的日志里是
127.0.0.1
|
%H |
访问者使用的协议,这里是HTTP/1.1
|
%l |
这个也不太清楚,官方也说这个always return '-' 官方解释:Remote
logical username from identd (可能这样翻译:记录浏览者进行身份验证时提供的名字)(always returns
'-') |
%m |
访问的方式,是GET还是POST,我这是GET |
%p |
本地接收访问的端口,呵呵,我这里是80啦 |
%q |
比如你访问的是aaa.jsp?bbb=ccc,那么这里就显示?bbb=ccc,明白了吧,这个q是querystring的意思 |
%r |
官方解释:First line of the request (method and
request URI),不是很明白 |
%s |
这个是http的状态,我这里返回的是304,咱们经常看见访问某个网页报错误500什么的,那也会返回500 |
%S |
用户的session ID,这个session
ID大家可以另外查一下详细的解释,反正每次都会生成不同的session ID |
%t |
这就是时间啦,好像有一个Common Log
Format可以改,不过我没找到 |
%u |
得到了验证的访问者,否则就是"-" |
%U |
访问的URL地址,我这里是/rightmainima/leftbott4.swf
|
%v |
服务器名称,可能就是你url里面写的那个吧,我这里是localhost |
%D |
官方解释:Time taken to process the request, in
millis,应该是访问发生的时间,以毫秒记 |
%T |
官方解释:Time taken to process the request, in
seconds,应该是访问发生的时间,以秒记 |
common的值:
%h %l %u %t %r %s
%b
combined的值:
%h %l %u %t %r %s %b
%{Referer}i %{User-Agent}i
至于combined的值的最后两个为什么会这样,我也不太清楚…
这就是所有的参数了,欢迎交流探讨!
这是官方的解释地址:http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html
这个也可以看一看做参考:http://tomcat.apache.org/tomcat-5.0-doc/config/logger.html
还有这个:http://tomcat.apache.org/tomcat-5.0-doc/config/host.html
Apache官方对Tomcat访问日志的配置介绍的并不详细,大家可以参考Apache(web
server)的访问日志,两者有相当多相似的地方
分享到:
相关推荐
我们可以通过编辑 ${catalina}/conf/server.xml 文件来配置 Tomcat 访问日志。例如,可以添加以下配置: ``` directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts...
标题中的“在Tomcat的访问日志配置:awstats”涉及到的是Apache Tomcat服务器的访问日志管理和分析工具——AWStats。AWStats是一款开源的Web服务器统计分析软件,它可以实时或者定期分析服务器的访问日志,提供详细...
以下是如何在Linux系统,特别是Redhat发行版上配置Tomcat日志以使用awstats进行分析的详细步骤。 首先,我们需要确保系统已经安装了Apache Tomcat服务器。如果尚未安装,可以使用如下命令进行安装: ```bash sudo ...
本文将详细介绍如何配置Tomcat访问日志以及如何记录POST请求参数。 首先,Tomcat访问日志的配置通常在`conf/server.xml`文件中的`Host`标签下进行。要启用并定制访问日志,需要添加一个`Valve`元素,其`className`...
如果一切配置正确,MyEclipse将在控制台输出启动日志,同时你的Web应用也应该能在浏览器中访问。 11. **调试与优化**:MyEclipse允许你在服务器运行时进行调试。只需在项目上右键点击,选择“Debug As” → “Debug...
1. **users.xml**和**tomcat-users.xml**:在`conf`目录下,用于配置Tomcat的用户和角色,以实现基于角色的访问控制(RBAC)。 2. **context.xml**或`META-INF/context.xml`:可以设置应用级别的安全约束,如SSL...
这个示例会创建一个访问日志,记录请求的详细信息。 3. **日志级别与格式** Tomcat使用Java Util Logging (JULI)作为日志框架,支持`SEVERE`、`WARNING`、`INFO`、`CONFIG`、`FINE`、`FINER`和`FINEST`等日志级别...
日期.txt** 访问日志配置: - 配置文件位置:`conf/server.xml` - `...
本文将深入探讨如何配置Tomcat的访问日志以及如何利用这些日志进行有效的分析。 首先,开启Tomcat的访问日志功能需要编辑`server.xml`配置文件,该文件位于Tomcat的安装目录下的`conf`子目录。默认情况下,访问日志...
### 配置Tomcat与IntelliJ IDEA #### 一、安装与配置Tomcat **1. 确认已安装JDK** 在安装Tomcat之前,首先要确保系统上已经安装了Java Development Kit (JDK)。这是因为Tomcat是基于Java的应用服务器,需要JDK的...
本篇文章将详细讲解如何在NetBeans中配置Tomcat服务器,以帮助开发者高效地进行Java Web项目开发。 首先,我们需要了解NetBeans和Tomcat的基本概念。NetBeans是一款开源的、跨平台的Java IDE,它提供了编写、调试和...
最后,将`logback.xml`文件放置在`Tomcat`的`conf`目录下,重启`Tomcat`,日志管理就会按照新的规则进行,`catalina.out`文件将不再自动增长,而是被`logback`的日志配置所替代。 在使用过程中,可以根据实际需求...
在Eclipse中配置Tomcat服务器是一项常见的开发任务,主要用于运行基于Java的Web应用程序。下面将详细解释这个过程以及如何解决可能出现的404错误。 首先,确保已经安装了Apache Tomcat服务器,例如在这个例子中是...
本教程将详细介绍在Windows、Linux和macOS操作系统上安装与配置Tomcat的步骤。 1. **Windows上的安装** - 下载:首先,访问Apache Tomcat官方网站下载最新版本的Tomcat安装包,通常是.zip格式。 - 解压:下载完成...
例如,我们可以使用`AccessLogValve`来记录HTTP请求的访问日志。 接下来,我们来谈谈应用级别的日志。许多Java Web应用依赖于第三方日志框架,如Log4j、Logback或者Java Util Logging(JUL)。这里,我们以Log4j为...
为了在Eclipse中运行和调试基于Servlet和JSP的应用程序,我们需要配置Tomcat服务器。Tomcat是一款开源的、轻量级的Web应用服务器,它符合Java Servlet和JavaServer Pages (JSP) 规范。下面将详细介绍如何在Eclipse中...
在Linux系统中安装...了解以上步骤后,你应该能够顺利在Linux环境中安装并配置Tomcat,为你的Java Web应用提供可靠的运行平台。在实际操作过程中,可能会遇到各种问题,查阅官方文档和社区资源通常能找到解决方案。