温馨提示×

CentOS Java日志怎么查看

小樊
44
2026-08-30 07:24:01
栏目: 编程语言

CentOS 上查看 Java 日志,常见有几种情况,不同部署方式日志位置不一样。下面按最常见场景给你一个完整说明。


一、查看 Java 程序本身输出的日志

1️⃣ 控制台日志(直接运行 Java)

如果是直接运行:

java -jar app.jar

日志一般直接输出在 终端,没有保存。

✅ 建议重定向保存:

java -jar app.jar > app.log 2>&1

查看:

tail -f app.log

2️⃣ 使用 nohup 启动

nohup java -jar app.jar &

日志默认在:

nohup.out

查看:

tail -f nohup.out

二、查看日志文件(最常见)

1️⃣ 应用自定义日志

大多数 Java 项目(Spring Boot、普通 Java 项目)会配置日志路径,例如:

/var/log/app/app.log
/opt/app/logs/app.log

查找日志文件:

find / -name "*.log" 2>/dev/null | grep -i app

2️⃣ Spring Boot 项目

Spring Boot 默认日志:

  • 控制台(未保存)
  • application.properties 配置:
logging.file.name=/var/log/myapp.log

查看:

tail -f /var/log/myapp.log

三、查看系统日志(Java 崩溃 / 启动失败)

1️⃣ journalctl(systemd)

如果 Java 是 systemd 服务:

journalctl -u your-service-name -f

查看所有系统日志:

journalctl -xe

2️⃣ /var/log/messages(老版本 CentOS)

tail -f /var/log/messages

或搜索 Java:

grep java /var/log/messages

四、查看 Java GC / 崩溃日志

1️⃣ GC 日志

如果 JVM 参数中有:

-Xlog:gc*  # Java 9+

-XX:+PrintGCDetails -Xloggc:/var/log/gc.log

查看:

tail -f /var/log/gc.log

2️⃣ JVM 崩溃日志(hs_err_pid)

Java 崩溃时生成:

hs_err_pid<pid>.log

常见位置:

/opt/app/
/var/log/
当前工作目录

查找:

find / -name "hs_err_pid*.log" 2>/dev/null

五、使用 systemd 管理的 Java 服务

查看状态

systemctl status your-java-service

查看日志

journalctl -u your-java-service -f

六、快速排查常用命令

# 查看 Java 进程
ps -ef | grep java

# 查看某个 Java 进程打开了哪些日志
lsof -p <pid> | grep log

# 实时查看日志
tail -f xxx.log

# 搜索错误
grep -i error xxx.log

七、推荐做法 ✅

✅ 使用日志框架(Logback / Log4j2)
✅ 日志统一输出到 /var/log/xxx/
✅ 使用 systemd 管理 Java 服务
✅ 日志按日期滚动,避免无限增大


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

  • ✅ 你是 Spring Boot 还是普通 Java 项目?
  • ✅ 是 CentOS 7 还是 8 / Stream
  • ✅ Java 是 手动启动、systemd、Docker 哪种?

我可以给你更精确的日志路径和排查方案。

0