一、Tomcat日志分类(CentOS环境)
Tomcat的日志主要分为两类:访问日志(记录客户端请求详情)和运行日志(记录服务运行状态、错误信息等)。
访问日志用于记录客户端的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)。%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)"。运行日志记录Tomcat服务的启动、停止、运行时错误及应用部署等信息,主要包括以下几类:
localhost.2025-10-19.log):本地主机活动日志,记录默认虚拟主机的错误信息(如Servlet异常、JSP编译错误);manager.2025-10-19.log):Tomcat Manager应用的日志,记录应用部署、卸载等操作;host-manager.2025-10-19.log):虚拟主机管理应用的日志,记录虚拟主机的配置变更。$CATALINA_HOME/conf/logging.properties(控制日志级别、输出格式及文件路径)。SEVERE(最高,严重错误)、WARNING(警告)、INFO(信息,默认级别)、CONFIG(配置信息)、FINE(详细调试信息)、FINER(更详细)、FINEST(最低,最详细)。logging.properties中的日志级别):# 设置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
修改后需重启Tomcat使配置生效:sudo systemctl restart tomcat。tail -f命令实时查看catalina.out文件的内容(如tail -f $CATALINA_HOME/logs/catalina.out),按Ctrl+C停止。/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)。