在 CentOS 上“过滤 Java 日志”通常分几种场景,下面按最常见用法给你说明,你可以按需选。
tail -f /var/log/app/app.log | grep "ERROR"
tail -f app.log | grep -E "ERROR|Exception|Timeout"
tail -f app.log | grep -v "DEBUG"
tail -f app.log | grep -i "error"
grep "Exception" app.log
grep -n "NullPointer" app.log
grep "2024-01-21 10:" app.log
grep -c "ERROR" app.log
Java 异常通常是多行的,用 grep -A 看后续行:
grep -A 20 "Exception" app.log
或看前后内容:
grep -C 10 "OutOfMemory" app.log
journalctl -u your-java-service.service -f
过滤 ERROR:
journalctl -u your-java-service.service | grep ERROR
按时间:
journalctl -u your-java-service.service --since "2024-01-21 10:00"
如果是 按级别过滤(推荐在配置里做):
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
tail -f app.log | grep "ERROR" | grep -v "DEBUG"
tail -f app.log | grep -A 30 "Exception"
如果你能告诉我:
2024-01-21 10:00:00 ERROR ...)我可以给你更精确的命令。