温馨提示×

centos怎么定位java日志

小樊
48
2026-09-06 06:03:38
栏目: 编程语言

在 CentOS 上“定位 Java 日志”通常分几种场景:找日志文件在哪、实时看日志、按关键字搜日志、分析异常。下面按实用方式给你整理。


一、先确认 Java 进程

ps -ef | grep java

或

jps -l

可以看到:

  • 启动参数(是否指定了日志路径)
  • 应用名 / jar 名

二、常见 Java 日志位置

1️⃣ Spring Boot 项目

默认在当前目录或配置目录:

./logs/
/var/log/<app>/

若启动脚本中有:

--logging.file=/var/log/app.log

2️⃣ Tomcat

/var/log/tomcat/
/usr/local/tomcat/logs/

常见文件:

  • catalina.out(最重要)
  • localhost.log
  • access_log

3️⃣ 系统服务(systemd)

journalctl -u your-java-service

实时:

journalctl -u your-java-service -f

三、快速定位日志文件

根据进程找打开的文件

lsof -p <java_pid> | grep log

根据端口找

netstat -tunlp | grep java

四、实时查看日志

tail -f /path/to/app.log

或 Tomcat:

tail -f /usr/local/tomcat/logs/catalina.out

五、按关键字定位问题

搜 ERROR / Exception

grep -n "ERROR" app.log
grep -n "Exception" app.log

最近 500 行里搜

tail -n 500 app.log | grep Exception

时间范围(如 10:00–10:10)

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

六、分析 Java 崩溃 / OOM

Heap Dump

ls -lh /tmp/*.hprof

或

find / -name "*.hprof" 2>/dev/null

GC 日志

启动参数通常包含:

-Xloggc:/var/log/gc.log

七、实用组合命令

# 实时看错误
tail -f app.log | grep ERROR

# 统计异常次数
grep -c Exception app.log

# 看最后报错上下文
grep -A 20 Exception app.log | tail -50

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

  • ✅ 用的是 Spring Boot / Tomcat / 其他
  • ✅ 是 找不到日志文件 还是 日志太多不会看
  • ✅ 是否用 docker

我可以直接给你针对性的命令。

0 踩