温馨提示×

Java日志CentOS如何定位

小樊
55
2026-08-04 05:50:50
栏目: 编程语言

CentOS 上定位 Java 日志 通常分三步:找到日志在哪 → 看日志内容 → 结合异常定位问题。下面按实战方式给你一个完整思路。


一、常见 Java 日志位置(先找日志)

1️⃣ 应用自定义日志(最常见)

大多数 Java 应用(Spring Boot、Dubbo、自研服务)都会自己写日志:

# 常见目录
/opt/app/logs/
/data/logs/
/var/log/
/home/xxx/logs/

搜索方式:

find / -name "*.log" 2>/dev/null | grep -E "app|service|spring"

2️⃣ Spring Boot 应用

Spring Boot 默认或常见配置:

application.log
logs/app.log
logs/spring.log

如果你知道 jar 包位置:

ps -ef | grep java

然后进入该目录:

ls -lh /path/to/app/

3️⃣ systemd 管理的 Java 服务

如果是 systemd 服务:

journalctl -u your-service-name -f

查看服务名:

systemctl list-units | grep java

4️⃣ Tomcat 部署的 Java 应用

/opt/tomcat/logs/catalina.out
/opt/tomcat/logs/localhost.log

查看:

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

二、快速定位问题(核心技巧)

✅ 1. 看最近错误

tail -n 500 app.log | grep -i "error\|exception\|fail"

✅ 2. 看某个时间段的日志

sed -n '/2026-01-20 14:00/,/2026-01-20 15:00/p' app.log

✅ 3. 看线程堆栈(OOM / 卡死)

如果应用还活着:

jstack PID > stack.txt

分析:

grep -A 20 "BLOCKED\|WAITING\|Deadlock" stack.txt

三、Java 进程 & 日志关联

1️⃣ 找到 Java 进程

jps -l
ps -ef | grep java

2️⃣ 查看进程启动参数(找日志目录)

ps -ef | grep java

重点看:

-Dlogging.path=
-Dlog.home=
-XX:HeapDumpPath=

四、常见 Java 问题 & 日志定位点

问题类型 重点日志
启动失败 error / exception / main
OOM java.lang.OutOfMemoryError
CPU 高 配合 top -Hp + jstack
请求慢 接口耗时、DB 日志
线程死锁 jstack
磁盘满 No space left on device

五、日志分析常用命令(CentOS)

# 实时查看
tail -f app.log

# 统计错误数量
grep -c "Exception" app.log

# 查看大文件
less app.log

# 解压日志
tar -zxvf logs.tar.gz

六、如果你愿意,我可以直接帮你定位

你可以把下面信息发我(脱敏即可):

  1. Java 启动方式(jar / war / systemd)
  2. 报错日志片段
  3. 是否 CPU / 内存异常
  4. 日志文件名或目录结构

我可以 直接帮你判断是哪一类问题 + 下一步怎么查

0