JavaShuo
栏目
标签
tomcat日志
时间 2019-12-07
标签
tomcat
日志
栏目
Tomcat
繁體版
原文
原文链接
Tomcat访问日志详细配置
博客分类: Tomcat
TomcatApacheAccess浏览器JSP
在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)的访问日志,二者有至关多类似的地方
相关文章
1.
Tomcat日志与Log4j日志
2.
tomcat日志
3.
tomcat的日志
4.
tomcat access日志
5.
Tomcat日志
6.
Tomcat日志设置
7.
tomcat日志切割
8.
Tomcat 日志分割.
9.
tomcat 日志分割
10.
tomcat 日志详解
更多相关文章...
•
Docker 安装 Tomcat
-
Docker教程
•
SQLite 日期 & 时间
-
SQLite教程
•
Tomcat学习笔记(史上最全tomcat学习笔记)
•
TiDB 在摩拜单车在线数据业务的应用和实践
相关标签/搜索
日志
查虫日志
VSTS 日志
Linux日志
学习日志
log日志
我的日志
tomcat
MySQL学习日志
Tomcat
Spring教程
MyBatis教程
NoSQL教程
tomcat
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
IDEA 2019.2解读:性能更好,体验更优!
2.
使用云效搭建前端代码仓库管理,构建与部署
3.
Windows本地SVN服务器创建用户和版本库使用
4.
Sqli-labs-Less-46(笔记)
5.
Docker真正的入门
6.
vue面试知识点
7.
改变jre目录之后要做的修改
8.
2019.2.23VScode的c++配置详细方法
9.
从零开始OpenCV遇到的问题一
10.
创建动画剪辑
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
Tomcat日志与Log4j日志
2.
tomcat日志
3.
tomcat的日志
4.
tomcat access日志
5.
Tomcat日志
6.
Tomcat日志设置
7.
tomcat日志切割
8.
Tomcat 日志分割.
9.
tomcat 日志分割
10.
tomcat 日志详解
>>更多相关文章<<