温馨提示×

怎么搜索CentOS Java日志

小樊
48
2026-08-30 07:35:01
栏目: 编程语言

CentOS 上搜索 Java 日志,通常要看你的 Java 应用是以什么方式运行的(直接运行、systemd 服务、Tomcat、Docker 等)。下面按常见场景给你一套通用搜索方法


一、常见 Java 日志位置(先找文件)

1️⃣ 应用自定义日志(最常见)

很多 Java 应用使用 logback / log4j / log4j2,一般在:

/var/log/
/opt/xxx/logs/
/usr/local/xxx/logs/

查找日志文件:

find / -name "*.log" 2>/dev/null | grep -E "java|app|server"

2️⃣ 标准输出 / 错误输出

如果是直接运行:

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

日志可能在:

~/app.log
./app.log

3️⃣ systemd 管理的 Java 服务

查看服务名:

systemctl list-units --type=service | grep java

查看日志:

journalctl -u your-java-service.service -f

查看历史日志:

journalctl -u your-java-service.service --since "2025-01-01" --until "2025-01-10"

4️⃣ Tomcat 日志

如果是 Tomcat:

/var/log/tomcat/
/opt/tomcat/logs/

常见文件:

catalina.out
localhost.log

查看:

tail -f /var/log/tomcat/catalina.out

5️⃣ Docker 中的 Java 日志

查看容器:

docker ps

查看日志:

docker logs -f container_id

二、搜索 Java 日志内容(重点)

1️⃣ 按关键字搜索(最常用)

grep -R "ERROR" /var/log/

搜索 Java 异常:

grep -R "Exception" /var/log/

只看最近 100 行:

grep -R "Exception" /var/log/ | tail -n 100

2️⃣ 搜索某个时间段的日志

如果日志有时间戳:

grep "2025-01-10 14:" app.log

3️⃣ 同时搜索多个关键字

grep -E "ERROR|Exception|NullPointer" app.log

4️⃣ 查看实时日志

tail -f app.log

5️⃣ 查找是哪个 Java 进程在写日志

ps -ef | grep java

或:

lsof | grep .log

三、快速定位流程图(推荐)

Java 应用
  ↓
logback / log4j / log4j2 配置
  ↓
日志文件位置
  ↓
grep / tail / journalctl

四、如果你想更精准

你可以直接告诉我:

  1. Java 是 jar 包 / WAR / Docker / systemd
  2. 日志 有没有时间 / 异常信息
  3. 你想找的是 报错 / 慢请求 / GC / OOM

我可以帮你写一条精确的搜索命令

0