概述

经常用tomcat的朋友肯定会发现tomcat logs 目录下会存在各种各样的日志文件,那么这些日志文件分别代表什么意思?哪些信息才是我们需要关注的呢?


tomcat各日志文件含义

tomcat每次启动时,自动在logs目录下生产以下日志文件,按照日期自动备份

localhost.2019-04-25.txt 
//主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志。
catalina.2019-04-25.txt 
//经常用到的文件之一,程序的输出,tomcat的日志输出等等
manager.2019-04-25.txt 
//这个是manager项目专有的日志文件,看不出有什么重要的信息。
host-manager.2019-04-25.txt 
//这个是放tomcat的自带的manager项目的日志信息的,一般看不到有什么重要的信息。
localhost_access_log.2019-04-25.txt 
//这个是存放访问tomcat的请求的所有地址以及请求的路径、时间,请求协议以及返回码等信息,需要配置

让所有文件都输出到同一个文件中

打开Tomcat目录conf\logging.properties,修改如下,所有日志输出到tomcat开头的文件中


打开访问日志

默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志

编辑 ${catalina}/conf/server.xml 文件. 注 :${catalina} 是 tomcat 的安装目录

把以下的注释 (<!-- -->) 去掉即可。

 <!--
 <Valve className="org.apache.catalina.valves.AccessLogValve"
 directory="logs" prefix="localhost_access_log." suffix=".txt"
 pattern="common" resolveHosts="false"/>
 -->

上面的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"


修改tomcat日志级别

Tomcat 日志分为下面5类:

catalina 、 localhost 、 manager 、 admin 、 host-manager

每类日志的级别分为如下 7 种:

SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

日志级别的设定方法

修改 conf/logging.properties 中的内容,设定某类日志的级别