在 CentOS 上查看 Java 日志,常见方式取决于你的 Java 应用类型(普通 Java 程序、Spring Boot、Tomcat、Docker 等)。下面按最常见场景给你整理一份实用指南。
ps -ef | grep java
或
jps -l
示例输出:
12345 com.example.Main
默认日志位置取决于启动方式:
java -jar app.jar
日志默认输出到 控制台
如果后台运行:
nohup java -jar app.jar > app.log 2>&1 &
查看:
tail -f app.log
日志通常在:
/var/log/your-app/
或配置文件中指定:
logging.file.name=/var/log/app/app.log
Tomcat 日志目录:
/opt/tomcat/logs/
/usr/local/tomcat/logs/
常用日志文件:
| 文件 | 说明 |
|---|---|
| catalina.out | 主日志(最重要) |
| catalina.2026-01-21.log | 按日期 |
| localhost.log | 应用日志 |
| host-manager.log | 管理日志 |
查看:
tail -f catalina.out
如果 Java 是 systemd 服务:
systemctl status your-java-service
查看日志:
journalctl -u your-java-service -f
docker ps
docker logs -f 容器ID
或进入容器:
docker exec -it 容器ID /bin/bash
cd /app/logs
如果启动时开启了 GC 日志:
-Xlog:gc*:file=/var/log/java/gc.log
查看:
tail -f /var/log/java/gc.log
当 JVM 崩溃时生成:
hs_err_pid<pid>.log
查找:
find / -name "hs_err_pid*.log" 2>/dev/null
# 实时查看
tail -f app.log
# 查看最后 500 行
tail -n 500 app.log
# 搜索错误
grep -i error app.log
# 查看某段时间日志
sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' app.log
ps -ef | grep javatail -f 实时观察grep ERROR / WARN你可以直接告诉我:
我可以一步一步帮你找到 具体日志文件。