温馨提示×

centosjava日志怎么排查

小樊
44
2026-09-21 09:35:47
栏目: 编程语言

在 CentOS 上排查 Java 日志,一般分 “日志在哪 → 怎么看 → 常见异常怎么定位” 三步。下面给你一个实用排查指南。


一、先确认 Java 日志在哪

1. 应用自带日志(最常见)

Java 应用一般用:

  • Logback / Log4j2 / Log4j
  • 日志路径通常在:
/var/log/xxx/
/home/xxx/logs/
/app/xxx/logs/

查看配置文件确认路径:

find / -name "logback.xml" 2>/dev/null
find / -name "log4j2.xml" 2>/dev/null

2. Tomcat 日志(如果是 Web 应用)

/var/log/tomcat/
/opt/tomcat/logs/

常见文件:

  • catalina.out(最重要)
  • localhost.log
  • catalina.YYYY-MM-DD.log

实时查看:

tail -f /opt/tomcat/logs/catalina.out

3. Spring Boot 日志

默认:

/var/log/appname/
./logs/

或用:

journalctl -u your-service

4. 系统级 Java 报错

/var/log/messages
/var/log/syslog
journalctl -xe

二、常用排查命令

实时查看日志

tail -f xxx.log

查看报错

grep -i error xxx.log
grep -i exception xxx.log

查看某个时间点

sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' xxx.log

查看 Java 进程

ps -ef | grep java
jps -l

查看内存 / 线程(卡死时)

jstack <pid> > thread.txt
jmap -heap <pid>

三、常见 Java 问题 & 日志特征

1. OutOfMemoryError

日志特征:

java.lang.OutOfMemoryError: Java heap space

排查:

jmap -dump:format=b,file=heap.hprof <pid>

用 MAT / VisualVM 分析


2. 死锁 / 卡住

日志特征:

Found one Java-level deadlock

排查:

jstack <pid>

3. 端口占用

日志特征:

Address already in use

排查:

netstat -tunlp | grep 8080
lsof -i:8080

4. 连接数据库失败

日志特征:

Communications link failure
Connection refused

检查:

  • 数据库是否启动
  • 防火墙
  • 配置是否正确

四、推荐排查套路(实战)

  1. 先看进程在不在
ps -ef | grep java
  1. 看最新日志
tail -200 catalina.out
  1. 搜异常关键字
grep -i exception catalina.out
  1. 还不行就抓线程
jstack pid

如果你能贴一下:

  • 用的什么 Java 应用(Spring Boot / Tomcat / 自研)
  • 报错日志片段

我可以直接帮你定位问题。

0