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 |
|
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)的访问日志,两者有相当多相似的地方
Tomcat访问日志详细配置(转)的更多相关文章
- Tomcat访问日志详细配置
在server.xml里的<host>标签下加上 <Valve className="org.apache.catalina.valves.AccessLogValve&q ...
- 转 Tomcat访问日志详细配置
配置http访问日志.Tomcat自带的能够记录的http访问日志已经很详细了取消下面这段的注释: <Valve className="org.apache.catalina.valv ...
- linux系统tomcat项目部署和tomcat访问日志
一.只用ip地址访问 先把端口号改成80,然后用 <Host name="localhost" appBase="webapps" 137 ...
- tomcat访问日志分析
常使用web服务器的朋友大都了解,一般的web server有两部分日志: 一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息 二是访问日志信息,它记录的访问的时间,IP,访问的资 ...
- ELK之收集tomcat访问日志
把tomcat访问日志转换成json格式然后收集 修改配置文件conf/server.xml把日志输出改成json格式 添加logstash配置文件(日志按天切割可以使用*进行匹配所有)
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
一.Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间 nginx.conf使用配置方式: log_format main '$remo ...
- ELK收集tomcat访问日志并存取mysql数据库案例
这个案例中,tomcat产生的日志由filebeat收集,然后存取到redis中,再由logstash进行过滤清洗等操作,最后由elasticsearch存储索引并由kibana进行展示. 1.配置t ...
- tomcat环境变量详细配置步骤
这篇文章主要为大家详细介绍了tomcat环境变量配置步骤,包括JDK环境变量配置,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了tomcat环境变量的配置教程,供大家参考,具体内容如下 1.=== ...
- spring boot Tomcat访问日志
1.Tomcat设置访问日志 <Host name="localhost" appBase="webapps" unpackWARs="true ...
随机推荐
- 【RabbitMQ 参考资料】
RabbitMQ从入门到精通:http://blog.csdn.net/column/details/rabbitmq.html RabbitMQ消息队列(一): Detailed Introduct ...
- 表单提交post和get方法区别
表象不同,get把提交的数据url可以看到,post看不到 原理不同,get 是拼接 url, post 是放入http 请求体中 提交数据量不同,get最多提交2k数据,浏览器的限制.post理论上 ...
- cocos2d-x OpenGL ES 坐标系总结
很多教程都说cocos2d-x OpenGL ES世界坐标系原点在左下角,但至于为什么在左下角却从来没有人提过,这导致大部分人觉得这是OpenGL ES的规定,事实上这是错的.OpenGL ES的坐标 ...
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 Q13-20 MATLAB实现
大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业四 Q13-20的MATLAB实现. 曾经的代码都 ...
- JQuery实现ajax跨域
AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请求数据,就会出现错误.如果能控制数据驻留的远程服务器 ...
- C++语言基础(16)-string类
使用 string 类需要包含头文件<string>,下面的例子介绍了几种定义 string 变量(对象)的方法: #include <iostream> #include & ...
- flink 问题记录
转发请注明原创地址:http://www.cnblogs.com/dongxiao-yang/p/7652337.html 1 WindowFunction类型不匹配无法编译. flink 版本:1. ...
- mysql数据库记录
ON DELETE restrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除. no action:意思同restrict.即如果存在从数 ...
- 使用NGINX反向代理做小偷站
用Nginx的反向代理可以轻松山寨对方的网站,但是反向代理后的网站还是有对方的绝对链接时,怎么办?所以要用替换链接方法. 1 使用官方的的模块 编译参数–with-http_sub_moduleub_ ...
- Could not calculate build plan
问题:根据你提供的镜像地址,下载相应的jar包失败 原因: 1.你提供的镜像地址不稳定,把settings.xml文件中的mirror改成稳定的镜像地址 2.网络不稳定,重新下载,或者切换网络.