温馨提示×

centos java日志怎么实时看

小樊
35
2026-09-15 05:53:00
栏目: 编程语言

在 CentOS 上实时查看 Java 日志,常见做法取决于日志写在哪个文件、以及用的是什么日志框架/容器。下面按常见场景给你说明。


一、最常用:实时查看日志文件(tail -f)

如果 Java 应用把日志输出到文件,比如:

/opt/app/logs/app.log

实时查看:

tail -f /opt/app/logs/app.log

只查看最新 100 行并实时:

tail -n 100 -f /opt/app/logs/app.log

如果有日志切割(如 app.log.2026-01-21):

tail -F /opt/app/logs/app.log

-F 会跟踪文件轮转,比 -f 更安全


二、Java 直接输出到控制台(nohup / systemd)

1️⃣ nohup 启动的 Java

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

实时看:

tail -f app.log

2️⃣ systemd 管理的 Java 服务

如果是:

systemctl start myapp

直接看实时日志:

journalctl -u myapp -f

看最近 200 行并实时:

journalctl -u myapp -n 200 -f

三、Spring Boot 项目常见情况

默认日志(控制台)

journalctl -u your-service -f

或

tail -f logs/spring.log

指定日志文件

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

然后:

tail -f /var/log/app.log

四、按关键字实时过滤(非常实用)

只看 ERROR:

tail -f app.log | grep ERROR

高亮显示:

tail -f app.log | grep --color=auto ERROR

多关键字:

tail -f app.log | grep -E "ERROR|WARN"

五、Docker 中的 Java 日志(如果是容器)

docker logs -f 容器名或ID

实时 + 最近 100 行:

docker logs -f --tail 100 容器名

六、高级:多文件 / 大日志

同时看多个日志

multitail app.log error.log

(需安装 multitail)

大文件搜索

less +F app.log

进入后按 F 实时跟随,Ctrl+C 停止


七、排查 Java 问题常用组合

tail -f app.log | grep -E "Exception|ERROR|OutOfMemory"

配合线程/内存:

top
jstack <pid>
jstat -gc <pid> 1000

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

  • Java 是 jar / war / Docker / K8s
  • 日志是 logback / log4j / 控制台
  • CentOS 版本(7 还是 8 / Stream)

我可以直接给你最合适的一条命令。

0 踩