温馨提示×

centos如何实时看java日志

小樊
50
2026-09-06 06:09:37
栏目: 编程语言

在 CentOS 上“实时看 Java 日志”,常见有几种场景和做法,下面按最常用到的方式给你说明。


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

如果 Java 应用把日志输出到了文件(如 app.log):

tail -f /path/to/app.log
  • -f:实时跟踪文件新增内容
  • 退出:Ctrl + C

如果日志很大,想从最后 200 行开始看:

tail -n 200 -f /path/to/app.log

如果是按天滚动的日志(如 app.log.2026-01-21):

tail -F /path/to/app.log

-F 比 -f 更稳,文件被轮转(rotate)后还能继续跟踪


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

1. nohup 启动的 Java 程序

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

然后:

tail -f app.log

2. systemd 管理的 Java 服务

如果 Java 是用 systemctl 启动的:

systemctl status java-app
journalctl -u java-app -f

常用参数:

journalctl -u java-app -f -n 200
  • -f:实时
  • -n 200:最近 200 行

三、看具体报错(grep 实时过滤)

只看 ERROR:

tail -f app.log | grep ERROR

忽略大小写:

tail -f app.log | grep -i error

只看某个用户或接口:

tail -f app.log | grep "userId=123"

四、多线程 / 多日志文件

如果日志分多个文件:

tail -f app.log error.log

或用 multitail(需安装):

yum install -y multitail
multitail app.log error.log

五、Tomcat 场景

Tomcat 实时看日志:

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

六、推荐组合(排查问题最实用)

tail -F app.log | grep -i --line-buffered error

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

  • Java 是怎么启动的(jar / tomcat / systemd)
  • 日志文件路径
  • 想看的是 报错 / 接口请求 / GC

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

0 踩