温馨提示×

centos java日志怎么定位错

小樊
46
2026-10-17 18:12:36
栏目: 编程语言

在 CentOS 上定位 Java 日志中的错误,通常可以按下面几个步骤来做。


一、先确认日志在哪

常见 Java 日志位置:

  1. 应用自己输出的日志

    • Tomcat
      /opt/tomcat/logs/catalina.out
      /opt/tomcat/logs/catalina.YYYY-MM-DD.log
      
    • Spring Boot
      ./logs/app.log
      ./noHup.out
      
    • 自定义路径
      /var/log/xxx/
      
  2. 系统日志

    /var/log/messages
    /var/log/journalctl(systemd)
    
  3. Java 崩溃日志

    hs_err_pidXXXX.log(一般在应用目录)
    

二、快速定位错误关键词

常用命令:

# 查看最近日志
tail -n 200 catalina.out

# 实时查看
tail -f catalina.out

# 搜索 ERROR / Exception
grep -n "ERROR" app.log
grep -n "Exception" app.log

# 忽略大小写
grep -i "error" app.log

# 显示错误前后内容
grep -A 20 -B 5 "Exception" app.log

三、按时间定位问题

如果知道大概时间:

# 查看某时间段的日志
sed -n '/2026-01-21 10:00/,/2026-01-21 10:30/p' app.log

或:

grep "2026-01-21 10:" app.log | grep ERROR

四、OOM / 崩溃类问题

  1. OutOfMemoryError

    grep -i "OutOfMemory" catalina.out
    
  2. Java 崩溃

    ls -lh hs_err_pid*.log
    less hs_err_pid12345.log
    
  3. GC 问题

    grep "Full GC" gc.log
    

五、使用 journalctl(systemd 服务)

如果是 systemd 启动的 Java:

journalctl -u your-java-service.service -n 200
journalctl -u your-java-service.service --since "2026-01-21 10:00"

六、实战定位思路(推荐)

  1. 先 tail -f 看实时错误
  2. 搜 Exception / ERROR / Caused by
  3. 看 Caused by 最底层异常
  4. 结合时间 + 操作复现
  5. 必要时开启 DEBUG 日志

如果你能贴一段 具体日志内容 或说明:

  • 用的什么框架(Tomcat / Spring Boot / 其他)
  • 错误现象(启动失败 / 运行中报错 / OOM)

我可以帮你更精确地分析。

0 踩