tomcat 访问日志配置

conf/server.xml

    
      <Host name="www.***.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      <Context path="/"  reloadable="false"></Context>
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%a %l %u %t &quot;%r&quot; %s %b" />

      </Host>

 

2 Tomcat 日志

2.1 访问日志的配置
默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志编辑 ${catalina}/conf/server.xml 文件 . 注 :${catalina} 是 tomcat 的安装目录把以下的注释 () 去掉即可。

 

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地址啦

 

2.2  配置tomcat 写出更详细的日志
通过对 2.1 示例中 pattern 项的修改,可以改变日志输出的内容。
该项值可以为: common 与 combined ,这两个 预 先 设 置好的 格式对应的日志输出内容如下:
common 的值: %h %l %u %t %r %s %b
combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
pattern 也可以根据需要自由 组 合 , 例如 pattern=”%h %l”
对 于各 fields 字段的含 义请 参照 :

%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,应该是访问发生的时间,以秒记

 

3    修改 Tomcat 运行日志的等级
3.1  日志类型与级别
Tomcat 日志分为下面5类:
catalina 、 localhost 、 manager 、 admin 、 host-manager
每类日志的级别分为如下 7 种:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
3.2  日志级别的设定方法
修改 conf/logging.properties 中的内容,设定某类日志的级别
示例:
设置 catalina 日志的级别为: FINE
1catalina.org.apache.juli.FileHandler.level = FINE
禁用 catalina 日志的输出:
1catalina.org.apache.juli.FileHandler.level = OFF
输出 catalina 所有的日志消息均输出:
1catalina.org.apache.juli.FileHandler.level = ALL

 

 

    原文作者:菜鸟柱子
    原文地址: https://blog.csdn.net/xinpz/article/details/88721686
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞