1. 快速定位Tomcat日志文件
Tomcat的日志文件集中存储在$CATALINA_HOME/logs目录(Linux默认路径通常为/var/log/tomcat,Windows为C:\Program Files\Apache Software Foundation\Tomcat\logs)。核心日志文件包括:
2. 使用命令行工具快速过滤错误
通过命令行工具可快速从大型日志中提取错误信息,提升效率:
tail -f命令实时监控catalina.out,结合grep过滤ERROR关键字,例如:tail -f /path/to/tomcat/logs/catalina.out | grep 'ERROR' 这会实时显示新增的错误日志,便于跟踪正在发生的异常。grep直接提取日志文件中的所有ERROR条目,例如:grep -i 'error' /path/to/tomcat/logs/catalina.out > errors.txt 将结果保存到errors.txt中,方便离线分析。sed命令提取,例如:sed -n '/2025-10-19 14:00:00/,/2025-10-19 15:00:00/p' /path/to/tomcat/logs/catalina.out | grep 'ERROR' 此命令会筛选出指定时间段内的错误日志。3. 聚焦错误关键信息快速定位根源
日志中的错误信息包含定位问题的核心线索,需重点关注以下几点:
ERROR(错误)和SEVERE(严重错误)级别的日志,忽略INFO(信息)、DEBUG(调试)等无关日志,减少干扰。java.lang.NullPointerException空指针异常、java.sql.SQLException数据库连接异常、java.lang.OutOfMemoryError内存溢出),快速判断问题类型。com.example.MyServlet.doGet(MyServlet.java:25)),直接指向问题根源。4. 调整日志级别聚焦关键信息
若日志中包含大量无关信息(如INFO级别的启动日志),可通过调整日志级别过滤噪音,突出关键错误:
logging.properties文件:该文件位于$CATALINA_HOME/conf目录,通过设置包或类的日志级别控制输出。例如:# 设置根日志级别为ERROR(仅记录错误及以上级别) .level = ERROR # 设置特定包的日志级别(如应用包) com.yourapp.level = ERROR # 设置Tomcat容器日志级别 org.apache.catalina.core.ContainerBase.[Catalina].level = ERROR $CATALINA_HOME/bin/shutdown.sh停止服务器,再执行$CATALINA_HOME/bin/startup.sh启动,使配置生效。5. 利用日志分析工具高效处理
对于大型Tomcat应用(日志文件较大或需长期分析),可使用工具提升效率: