在 CentOS 上定位 Java 日志中的错误,通常可以按下面几个步骤来做。
常见 Java 日志位置:
应用自己输出的日志
/opt/tomcat/logs/catalina.out
/opt/tomcat/logs/catalina.YYYY-MM-DD.log
./logs/app.log
./noHup.out
/var/log/xxx/
系统日志
/var/log/messages
/var/log/journalctl(systemd)
Java 崩溃日志
hs_err_pidXXXX.log(一般在应用目录)
常用命令:
# 查看最近日志
tail -n 200 catalina.out
# 实时查看
tail -f catalina.out
# 搜索 ERROR / Exception
grep -n "ERROR" app.log
grep -n "Exception" app.log
# 忽略大小写
grep -i "error" app.log
# 显示错误前后内容
grep -A 20 -B 5 "Exception" app.log
如果知道大概时间:
# 查看某时间段的日志
sed -n '/2026-01-21 10:00/,/2026-01-21 10:30/p' app.log
或:
grep "2026-01-21 10:" app.log | grep ERROR
OutOfMemoryError
grep -i "OutOfMemory" catalina.out
Java 崩溃
ls -lh hs_err_pid*.log
less hs_err_pid12345.log
GC 问题
grep "Full GC" gc.log
如果是 systemd 启动的 Java:
journalctl -u your-java-service.service -n 200
journalctl -u your-java-service.service --since "2026-01-21 10:00"
tail -f 看实时错误Exception / ERROR / Caused by如果你能贴一段 具体日志内容 或说明:
我可以帮你更精确地分析。