在 CentOS 上检索 Java 日志,通常取决于日志的存放位置和日志框架。下面按常见场景给你一套实用方法。
常见位置:
/var/log/logs/tomcat/logs/查看 Java 进程和日志路径:
ps -ef | grep java
grep "ERROR" /path/to/app.log
带行号:
grep -n "Exception" app.log
忽略大小写:
grep -i "nullpointer" app.log
多个关键词(或):
grep -E "ERROR|Exception|Timeout" app.log
tail -f app.log
实时过滤:
tail -f app.log | grep "ERROR"
sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' app.log
grep -c "Exception" app.log
grep -A 20 -B 5 "NullPointerException" app.log
awk '/Exception/{flag=1} flag{print} /at com/{c++} c>30{exit}' app.log
日志目录:
cd /usr/local/tomcat/logs
常见文件:
catalina.out(最重要)localhost.loghost-manager.log检索:
grep "ERROR" catalina.out
tail -f catalina.out
查看日志:
journalctl -u your-java-service
实时:
journalctl -u your-java-service -f
按时间:
journalctl --since "2026-01-21 10:00" --until "11:00"
如果日志是 按天滚动(如 app-2026-01-21.log):
ls -lh logs/
grep "ERROR" logs/app-*.log
less +F app.log(类似 tail -f)zgrep(压缩日志)zgrep "ERROR" app.log.2026-01-*.gz
lnav(日志专用查看器)yum install lnav
lnav app.log
ERROR / Exception / Timeouthttp-nio-8080)如果你愿意,可以告诉我:
我可以给你更精准的命令。