Tomcat日志格式定义

1.日志文件类型

文件 说明
catalina.YYYY-MM-DD.log Tomcat服务运行日志
catalina.out 控制台输出日志(重定向)
localhost.YYYY-MM-DD.log 默认虚拟主机日志
localhost_access_log.YYYY-MM-DD.txt 访问日志
manager.YYYY-MM-DD.log Manager应用日志
host-manager.YYYY-MM-DD.log Host Manager日志

1.1访问日志格式(Access Log)

配置文件位置:conf/server.xml

1
2
3
4
5
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b"/>

1.2日志格式符号表

符号 含义
%h 远程主机名(或IP地址)
%l 远程逻辑用户名(identd,通常返回 -)
%u 远程认证用户(未认证返回 -)
%t 时间,格式 [14/Jul/2020:09:08:46 +0800]
%r 请求第一行:GET / HTTP/1.1
%s HTTP状态码(200/404/500等)
%b 响应字节数(不含HTTP头)
%B 响应字节数(不含HTTP头,0时显示0)
%H 请求协议(HTTP/1.1)
%m 请求方法(GET/POST等)
%U 请求的URL路径
%q 查询字符串(带?前缀)
%{xxx}i 请求头中的xxx字段值
%{xxx}o 响应头中的xxx字段值
%{xxx}c Cookie中的xxx值
%{xxx}s HttpSession中的xxx属性
%D 处理请求耗时(毫秒)
%T 处理请求耗时(秒)
%p 本地端口(%{local}p 或 %{remote}p)
%I 当前请求线程名
%X 连接状态(X=中断,+=保持,-=关闭)

1.3访问日志示例

10.0.0.1 - - [14/Jul/2020:09:08:46 +0800] "GET / HTTP/1.1" 200 5581
10.0.0.1 - - [14/Jul/2020:09:08:46 +0800] "GET /tomcat.css HTTP/1.1" 200 5581
10.0.0.1 - - [14/Jul/2020:09:08:46 +0800] "GET /tomcat.png HTTP/1.1" 200 5103
10.0.0.1 - - [14/Jul/2020:09:08:46 +0800] "GET /favicon.ico HTTP/1.1" 200 21630

2.日志级别配置

配置文件:conf/logging.properties

1
2
3
4
5
6
7
8
9
# 服务日志
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

# 默认主机日志
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
级别 说明
SEVERE 严重错误
WARNING 警告
INFO 信息
CONFIG 配置
FINE 细粒度信息
FINER 更细粒度
FINEST 最细粒度
ALL 所有
OFF 关闭

3.自定义日志格式示例

1
2
3
4
5
6
<!-- 完整访问日志,含耗时和Referer -->
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="access_log"
suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b %D &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;" />

输出示例:

10.0.0.1 - - [14/Jul/2020:09:08:46 +0800] "GET /index.jsp HTTP/1.1" 200 1024 152 "http://example.com" "Mozilla/5.0"