在 CentOS 上“过滤 Java 日志”通常有几种常见场景,下面按使用方式给你总结,基本都适用。
最常见、最简单的方式。
grep "ERROR" app.log
grep -i "exception" app.log
grep -n "NullPointerException" app.log
grep -E "ERROR|WARN|Exception" app.log
grep -v "DEBUG" app.log
grep "2026-01-15" app.log
tail -f app.log | grep "ERROR"
tail -f app.log | grep -E "ERROR|Exception|Timeout"
tail -f app.log | grep --color=auto "ERROR"
Java 异常通常是多行,普通 grep 不够用。
grep -A 20 "Exception" app.log
awk '/Exception/{print; for(i=0;i<15;i++){getline; print}}' app.log
less app.log
然后在里面输入:
/Exception
grep "ERROR" /var/log/java/*.log
zgrep "ERROR" /var/log/java/*.log.gz
journalctl -u your-java-service | grep "ERROR"
journalctl -u your-java-service -f | grep "Exception"
如果你能告诉我:
我可以给你更精准的命令。