在Ubuntu系统中,通过Tomcat日志进行故障排查是一个重要的技能,可以帮助你快速定位和解决问题。以下是一些常用的方法和步骤:
CATALINA_HOME/logs 目录下,主要文件包括 catalina.out 和 catalina.log 等。tail -f 命令实时查看日志文件的最新内容。例如:tail -f /path/to/tomcat/logs/catalina.out
grep 命令过滤特定关键字的日志行。例如,查找包含“ERROR”关键字的日志行:grep 'ERROR' /path/to/tomcat/logs/catalina.out
awk 进行更复杂的文本处理:例如,统计错误数量:awk '/ERROR/ {print $0}' /path/to/tomcat/logs/catalina.out | wc -l
sed 命令截取特定时间段的日志:例如:sed -n '/2023-09-22 12:00:00/,/2023-09-22 12:05:00/p' /var/log/tomcat/catalina.out
ps 命令检查Tomcat进程是否在运行中:ps aux | grep tomcat
netstat 或 lsof 命令检查Tomcat使用的端口是否被占用。例如,检查端口 8080:netstat -tuln | grep 8080
或lsof -i :8080
conf 目录下的配置文件,如 server.xml 和 web.xml,确保没有错误的配置。logging.properties 文件来设置日志级别。例如,将日志级别设置为 DEBUG:Logger Name Level org.apache.catalina.core.* FINE
-Djava.util.logging.ConsoleHandler.level=FINE
JAVA_OPTS="-Xms512m -Xmx1024m"
lsof 命令找到占用端口的进程并终止它:lsof -i :8080
kill -9 <PID>
logging.properties 文件中的编码设置:java.util.logging.ConsoleHandler.encoding = UTF-8
通过以上步骤和技巧,你可以更有效地进行Ubuntu系统中Tomcat日志的故障排查。