centos tomcat日志格式说明
导读:一、Tomcat日志分类(CentOS环境) Tomcat的日志主要分为两类:访问日志(记录客户端请求详情)和运行日志(记录服务运行状态、错误信息等)。 1. 访问日志(Access Log) 访问日志用于记录客户端的HTTP请求信息,如I...
一、Tomcat日志分类(CentOS环境)
Tomcat的日志主要分为两类:访问日志(记录客户端请求详情)和运行日志(记录服务运行状态、错误信息等)。
1. 访问日志(Access Log)
访问日志用于记录客户端的HTTP请求信息,如IP地址、请求方法、URI、响应状态码等。
- 配置文件:
$CATALINA_HOME/conf/server.xml
(CATALINA_HOME
为Tomcat安装目录)。 - 配置项:通过
< Valve>
标签启用,关键属性说明如下:directory
:日志文件存储路径(如logs
目录);prefix
:日志文件前缀(如localhost_access_log
);suffix
:日志文件后缀(如.txt
);pattern
:日志格式模板(决定日志内容的字段);resolveHosts
:是否将远程IP解析为主机名(true
为解析,false
为直接显示IP,默认false
)。
- 常见pattern参数(用于自定义日志格式):
%h
:远程IP地址;%l
:远程逻辑用户名(始终为-
);%u
:认证后的远程用户(未认证则为-
);%t
:请求时间(默认格式为dd/MMM/yyyy:HH:mm:ss Z
);%r
:请求的第一行(包含方法、URI和协议,如GET /index.html HTTP/1.1
);%s
:响应状态码(如200、404);%b
:发送的字节数(不包括HTTP头,0则显示-
);%{ Referer} i
:请求来源页面的URL(Referer头);%{ User-Agent} i
:客户端浏览器信息(User-Agent头)。 - 示例配置(
server.xml
中启用访问日志并设置格式):
上述配置会生成类似以下的日志条目:< Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b %{ Referer} i %{ User-Agent} i" resolveHosts="false"/>
192.168.1.100 - - [19/Oct/2025:10:30:00 +0800] "GET /index.html HTTP/1.1" 200 1024 "http://example.com" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
。
2. 运行日志(Running Log)
运行日志记录Tomcat服务的启动、停止、运行时错误及应用部署等信息,主要包括以下几类:
- catalina.out:综合日志,包含Tomcat的标准输出(stdout)和标准错误(stderr),记录服务启动/停止时间及关键事件(如部署应用、端口绑定);
- localhost.date.log(如
localhost.2025-10-19.log
):本地主机活动日志,记录默认虚拟主机的错误信息(如Servlet异常、JSP编译错误); - manager.date.log(如
manager.2025-10-19.log
):Tomcat Manager应用的日志,记录应用部署、卸载等操作; - host-manager.date.log(如
host-manager.2025-10-19.log
):虚拟主机管理应用的日志,记录虚拟主机的配置变更。 - 配置文件:
$CATALINA_HOME/conf/logging.properties
(控制日志级别、输出格式及文件路径)。 - 日志级别(从低到高):
SEVERE
(最高,严重错误)、WARNING
(警告)、INFO
(信息,默认级别)、CONFIG
(配置信息)、FINE
(详细调试信息)、FINER
(更详细)、FINEST
(最低,最详细)。 - 示例配置(修改
logging.properties
中的日志级别):
修改后需重启Tomcat使配置生效:# 设置catalina日志级别为FINE(更详细的调试信息) 1catalina.org.apache.juli.FileHandler.level = FINE # 设置localhost日志级别为INFO(默认) 2localhost.org.apache.juli.FileHandler.level = INFO # 设置日志输出格式(简单格式) java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
sudo systemctl restart tomcat
。
二、日志管理技巧(CentOS环境)
- 查看实时日志:使用
tail -f
命令实时查看catalina.out
文件的内容(如tail -f $CATALINA_HOME/logs/catalina.out
),按Ctrl+C
停止。 - 日志轮转:
- logrotate工具:通过
/etc/logrotate.d/tomcat
配置文件实现自动轮转(如每天生成一个新日志文件,保留7天)。示例配置:/usr/local/tomcat/logs/catalina.out { daily rotate 7 compress missingok notifempty create 640 tomcat tomcat postrotate /bin/kill -HUP `cat /var/run/tomcat.pid` endscript }
- 手动分割:若
catalina.out
过大,可通过mv
命令重命名后重启Tomcat生成新文件(如mv $CATALINA_HOME/logs/catalina.out $CATALINA_HOME/logs/catalina.bak
,然后systemctl restart tomcat
)。
- logrotate工具:通过
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos tomcat日志格式说明
本文地址: https://pptw.com/jishu/730202.html