在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日志的故障排查。