简述Tomcat的日志系统

一.Tomcat的日志目录(./tomca/logs/)

    1.catalina.2017-06-14.log 或者 catalina.out  :引擎的日志文件
    2.host-manager.2017-06-14.log  :这个我也不知道什么日志,如果有人知道麻烦解释一下
    3.localhost.2017-06-14.log   :Tomcat下内部代码丢出的日志          
    4.manager.2017-06-14.log   :默认manager应用日志
    5.localhost_access_log.2017-06-14.log:客户端访问日志(默认没有开启的access日志)

二.日志相关的配置

1.host-manager.log、localhost.log、manager.log、catalina.log的日志控制

    1、找到tomcat目录conf/logging.properties中的等级全都等于OFF.即可不再生成相关日志文件.
    (备注如果不起作用,可以直接删除logging.properties该文件,此方法极为不推荐)

    tomcat的日志级别分为以下:  
    SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
    除此之外,我们可以使用OFF关闭相关日志,使用ALL输出所有级别的日志  
    manager.org.apache.juli.FileHandler.level = OFF把manager日志关闭

2、其中catalina.out则需要修改catalina.sh配置可以控制

        只要将
        if [ -z "$CATALINA_OUT" ] ; then
          CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
        修改为
        if [ -z "$CATALINA_OUT" ] ; then
          CATALINA_OUT=/dev/null
        这样就不会生成catalina.out文件了

3.客户端访问日志(access日志文件的控制)

    因为access日志默认是不开的,所以我们先来看一下怎么开启access日志。
    打开 .../tomcat8/conf/server.xml。发现以下内容是注释掉的
    ```
    <!--
    <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 日志存放的位置,默认是logs目录下
  • prefix 这个是日志文件的名称前缀,我的日志名称为localhost_access_log.2007-09-22.txt,前面的前缀就是这个localhost_access_log
  • suffix 设置日志的后缀
  • pattern 对日志输出内容的设置,这个是重点,我们下面详细解释
  • resolveHosts 如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址啦
  • fileDateFormat 日志的时间格式

    pattern的参数:可以设置成common combined 或者手动定义
    common 的值: %h %l %u %t %r %s %b
    combined 的值: %h %l %u %t %r %s %b %{Referer}i%{User-Agent}i

    %a      
    
    这是记录访问者的IP1
    
    %A
    
    这是记录本地服务器的IP
    
    %b
    
    这是发送信息的字节数,不涵括http头,如果字节数为0的话,显示为-
    
    %B
    
    看tomcat的解释,没看出来与b%的区别,但我这里显示为-1,我把官方解释贴出来吧 Bytes sent, excluding HTTP headers
    
    %h
    
    这个就是服务器名称了,如果resolveHosts为false的话,这里就是IP地址了
    
    %H
    
    访问者使用的协议,这里是HTTP/1.1
    
    %l
    
    官方也说这个always return '-' 官方解释:Remote logical username from identd
    
    %m
    
    访问的方式,是GET还是POST
    
    %p
    
    本地接收访问的端口
    
    %q
    
    比如你访问的是index.jsp?a=c,那么这里就显示?a=c,这个q是querystring的意思
    
    %r
    
    官方解释:First line of the request (method  and request URI),不是很明白
    
    %s
    
    这个是http的状态,经常看见访问某个网页报错误500什么的,那也会返回500
    
    %S
    
    用户的session ID,这个session  ID大家可以另外查一下详细的解释,反正每次都会生成不同的session  ID
    
    %t
    
    这就是时间啦,有一个Common Log Format可以改
    
    %u
    
    得到了验证的访问者,否则就是"-"
    
    %U
    
    访问的URL地址
    
    %v
    
    服务器名称,可能就是你url里面写的那个吧,我这里是localhost
    
    %D
    
    官方解释:Time taken to process the request,  in millis,应该是访问发生的时间,以毫秒记
    
    %T
    
    官方解释:Time taken to process the request,  in seconds,应该是访问发生的时间,以秒记
    

三.备注

日志的路径可以在logging.properties中修改,以免倒导致硬盘过度的增大影响服务器的正常运行.
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值