在 CentOS 上检索 Java 日志,通常取决于日志文件的位置、格式以及你使用的日志框架。下面按常见场景给你一套实用方法。
常见位置:
/opt/xxx/logs/
/home/xxx/logs/
/var/log/xxx/
./logs/xxx.log
/usr/local/tomcat/logs/catalina.out
journalctl -u xxx.service
tail -f app.log
grep "ERROR" app.log
grep -i "exception" app.log
grep -n "NullPointerException" app.log
grep -E "ERROR|WARN" app.log
grep -c "ERROR" app.log
如果日志有时间戳(如 2026-01-21 10:30:00):
grep "2026-01-21 10:" app.log
awk '$0 >= "2026-01-21 10:00:00" && $0 <= "2026-01-21 11:00:00"' app.log
Java 异常通常是多行的:
grep -A 20 "Exception" app.log
查看前后内容:
grep -B 5 -A 20 "NullPointerException" app.log
zgrep(压缩日志)zgrep "ERROR" app.log.2026-01-20.gz
less(推荐)less app.log
在 less 中:
/ERROR 搜索n 下一个Shift+n 上一个journalctl -u your-java-service.service
journalctl -u your-java-service.service | grep ERROR
journalctl --since "2026-01-21 10:00" --until "11:00"
可按级别输出到不同文件:
error.loginfo.log直接:
grep "ERROR" error.log
查看今天所有 ERROR:
grep "$(date +%Y-%m-%d)" app.log | grep ERROR
实时监控异常:
tail -f app.log | grep ERROR
如果你愿意,可以告诉我:
我可以给你更精准的检索命令。