`

tomcat 日志

 
阅读更多

在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 toorg.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就这两种?commoncombined又是什么意

思,具体是什么格式呢?
别着急,咱们一点一点看,其实pattern是可以设置的,commoncombined只是集成了一些显

示方式,就是将显示方式给组合了,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)的访问日志,两者有相当多相似的地方

                                                                                                                本文转自hilliate 博客

分享到:
评论

相关推荐

    Linux中tomcat日志切割

    "Linux中Tomcat日志切割"是指通过特定的工具或脚本,将Tomcat的日志文件`catalina.out`按照日期进行分割,以实现日志的有序管理和存储。通常,日志切割有助于保持日志文件的大小可控,避免单个文件过大导致的读写...

    linux shell脚本定时清理tomcat日志文件

    Linux shell脚本定时清理tomcat日志文件 本文将详细介绍 Linux 环境中使用 shell 脚本来定时清理 Tomcat 日志文件的方法。该方法使用 cron 机制来实现每天自动切割日志文件,并删除 4 天前的日志文件。 知识点一:...

    Centos7配置logrotate执行Tomcat日志轮转

    1. 创建配置文件:在`/etc/logrotate.d/`目录下创建一个针对Tomcat日志的配置文件,例如`/etc/logrotate.d/tomcat`。使用`vim`编辑器写入日志文件的路径,例如`/home/odysee/General/tomcat8.5/logs/catalina.out`。...

    tomcat日志过大问题

    ### Tomcat日志过大问题及解决方案 在日常的运维工作中,Tomcat作为一款广泛使用的Java应用服务器,其日志管理尤为重要。特别是在生产环境中,随着系统的持续运行,日志文件(如`catalina.out`)可能会不断增大,...

    win系统下的tomcat日志按日期切割工具

    "win系统下的tomcat日志按日期切割工具"指的是在Windows环境下对Tomcat日志进行自动切割的解决方案。通常,Linux系统中有一个名为`logrotate`的工具用于此目的,但在Windows上,我们可以使用类似功能的`cronolog`...

    tomcat日志详细说明

    ### Tomcat日志详细说明 #### 一、Tomcat日志概述 Apache Tomcat作为一款开源的Servlet容器,被广泛应用于Java Web应用的部署。它不仅支持Servlet还支持JSP等技术,是学习和开发Java Web项目的理想选择之一。为了...

    tomcat日志配置.docx

    本文将详细介绍 Tomcat 的日志配置,包括日志开关文件、日志信息、修改日志级别和使用 Log4j 记录应用程序日志或系统日志。 一、Tomcat 中的日志开关文件 Tomcat 中的日志开关文件是 logging.properties,位于 ...

    tomcat 日志设置解决方案

    本篇将详细讲解Tomcat日志设置的相关知识点,旨在提供一套实用的解决方案。 首先,Tomcat的日志主要分为两种类型:Catalina日志和Host日志。Catalina日志记录了Tomcat服务器整体运行的信息,而Host日志则针对每个...

    tomcat日志配置所有包

    标题 "Tomcat日志配置所有包" 涉及到的是Apache Tomcat服务器的日志管理,这是一项关键的系统维护任务,确保应用的稳定性和问题排查能力。在Tomcat中,日志配置允许开发者和管理员监控服务器的行为,记录错误信息...

    Linux-定期清理tomcat日志

    ### Linux-定期清理Tomcat日志 在现代IT环境中,服务器日志管理是维护系统稳定性和性能的关键环节之一。特别是对于部署了Tomcat等应用服务器的环境来说,随着时间的推移,日志文件会不断积累并占用大量磁盘空间。这...

    tomcat日志切分方案,离线包

    标题中的“tomcat日志切分方案”是指在Apache Tomcat服务器中管理日志文件的一种策略,目的是为了更好地管理和分析日志数据。日志切分通常涉及到日志滚动,即根据时间或者其他规则(如文件大小)自动创建新的日志...

    最新tomcat日志查看包

    这个“最新Tomcat日志查看包”正是为了帮助我们更好地管理和分析Tomcat的日志而设计的。 首先,我们需要理解为什么只依赖控制台打印的错误信息是不足的。在开发和调试阶段,控制台输出可以提供实时反馈,但在生产...

    tomcat日志文件

    本篇文章将详细探讨Tomcat日志文件的配置和日常管理。 首先,Tomcat的日志输出主要分为两种类型:Catalina日志和主机应用日志。Catalina日志主要记录Tomcat服务器本身的操作信息,而主机应用日志则针对每个部署的...

    tomcat日志分析器.jar

    用java swing写的一个简单的日志分析工具,读取的是tomcat默认的日志格式,用的是jdk1.7编译的。...如果日志文件比较大,可以用命令设置内存启动(如:java -Xms512m -Xmx2048m -jar tomcat日志分析器.jar)

    tomcat日志分割脚本

    自己写的tomcat日志分割脚本,自动分割日志,自动删除过期日志,也可以用于其他容器日志分割,稍加修改即可

    tomcat日志切割和tomcat优化

    【标题】:Tomcat日志切割与Tomcat优化 【内容】: Tomcat作为流行的Java Servlet容器,其性能和日志管理是运维人员关注的重点。日志切割是保持日志文件大小合理、便于管理和分析的重要手段,而Tomcat优化则关乎...

    Linux下tomcat日志catalina.out按天(/周)分割

    在Linux环境中,Tomcat作为广泛使用的Java应用服务器,其日志管理是系统监控和问题排查的重要环节。默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和...

    tomcat日志切割

    标题中的“Tomcat日志切割”是指在Apache Tomcat服务器中对日志文件进行定期管理和分割的过程。在大型系统中,日志文件可能会迅速增长,占用大量磁盘空间,因此需要有策略地处理这些日志,以便于分析、存储和清理。...

    probe Tomcat日志管理

    本文将深入探讨"probe Tomcat日志管理"这一主题,重点讲解如何有效地管理和分析Tomcat的日志,以及汉化中文版的优势。 首先,Tomcat是Apache软件基金会的开源Java Servlet容器,广泛应用于Web应用的部署。日志系统...

    Tomcat日志catalina.out过大解决方案--使用logback按日轮转.rar

    在Java Web应用开发中,Tomcat作为常用的Servlet容器,其默认的日志系统是通过`catalina.out`文件记录所有标准输出和错误输出。当应用运行一段时间后,`catalina.out`文件可能会变得非常大,占用大量磁盘空间,这...

Global site tag (gtag.js) - Google Analytics