温馨提示×

centos java日志怎样检索

小樊
41
2026-09-18 06:25:29
栏目: 编程语言

在 CentOS 上检索 Java 日志,通常取决于日志文件的位置、格式以及你使用的日志框架。下面按常见场景给你一套实用方法。


一、先确定 Java 日志在哪

常见位置:

  • 应用自定义目录
    /opt/xxx/logs/
    /home/xxx/logs/
    /var/log/xxx/
    
  • Spring Boot 默认
    ./logs/xxx.log
    
  • Tomcat
    /usr/local/tomcat/logs/catalina.out
    
  • systemd 管理的服务
    journalctl -u xxx.service
    

二、基础日志检索命令(最常用)

1. 查看日志

tail -f app.log

2. 关键字检索

grep "ERROR" app.log

3. 忽略大小写

grep -i "exception" app.log

4. 显示行号

grep -n "NullPointerException" app.log

5. 检索多个关键字

grep -E "ERROR|WARN" app.log

6. 统计出现次数

grep -c "ERROR" app.log

三、按时间检索(Java 日志常见)

如果日志有时间戳(如 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

五、大日志文件处理

1. 使用 zgrep(压缩日志)

zgrep "ERROR" app.log.2026-01-20.gz

2. 使用 less(推荐)

less app.log

在 less 中:

  • /ERROR 搜索
  • n 下一个
  • Shift+n 上一个

六、如果是 systemd 服务(推荐)

journalctl -u your-java-service.service
journalctl -u your-java-service.service | grep ERROR
journalctl --since "2026-01-21 10:00" --until "11:00"

七、结合日志框架(进阶)

Logback / Log4j

可按级别输出到不同文件:

  • error.log
  • info.log

直接:

grep "ERROR" error.log

八、实用组合示例

查看今天所有 ERROR:

grep "$(date +%Y-%m-%d)" app.log | grep ERROR

实时监控异常:

tail -f app.log | grep ERROR

如果你愿意,可以告诉我:

  • Java 应用类型(Spring Boot / Tomcat / 普通 jar)
  • 日志格式示例
  • 是否用 systemd

我可以给你更精准的检索命令。

0 踩