温馨提示×

centos如何搜索java日志内容

小樊
46
2026-10-14 21:24:26
栏目: 编程语言

在 CentOS 系统中搜索 Java 日志内容,通常结合 Linux 命令(如 grep、find、journalctl 等)和 Java 日志特点(文件位置、格式)来操作。下面按常见场景给你总结一套实用方法。


一、先确认 Java 日志在哪里

1. 常见 Java 日志位置

  • Spring Boot:
    • ./logs/
    • nohup.out
  • Tomcat:
    • /var/log/tomcat/
    • $CATALINA_HOME/logs/catalina.out
  • 自定义 logback / log4j:
    • 应用配置的 log.path 或 log.file

2. 查找 Java 进程和日志

ps -ef | grep java

或

jps -l

二、基础搜索:grep 搜索日志内容

1. 搜索某个关键字

grep "OutOfMemoryError" /var/log/tomcat/catalina.out

2. 忽略大小写

grep -i "error" app.log

3. 显示行号

grep -n "NullPointerException" app.log

4. 递归搜索目录下所有日志

grep -r "Exception" /opt/app/logs/

5. 多关键字(AND)

grep "ERROR" app.log | grep "Timeout"

三、按时间搜索 Java 日志

1. 搜索最近 100 行

tail -n 100 app.log | grep "ERROR"

2. 实时跟踪日志(最常用)

tail -f app.log

或过滤实时错误:

tail -f app.log | grep "ERROR"

3. 按日期搜索(日志含时间)

grep "2026-01-21 10:" app.log

四、按文件修改时间查找日志

1. 找最近修改的日志

find /opt/app/logs -name "*.log" -mtime -1

2. 在新日志中搜索

find /opt/app/logs -name "*.log" -mtime -1 | xargs grep "ERROR"

五、systemd 管理的 Java 服务日志

如果 Java 是用 systemctl 启动的:

journalctl -u your-java-service.service

搜索关键字:

journalctl -u your-java-service.service | grep "Exception"

实时查看:

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

六、大日志文件推荐用法

1. 使用 zgrep(压缩日志)

zgrep "ERROR" app.log.2026-01-*.gz

2. 使用 less(大文件更安全)

less app.log

在 less 中:

  • /关键字 搜索
  • n 下一个

七、常见 Java 问题搜索示例

OOM

grep -i "OutOfMemory" catalina.out

线程死锁

grep -i "deadlock" app.log

接口报错

grep "500" access.log

如果你能告诉我:

  • Java 应用类型(Spring Boot / Tomcat / 其他)
  • 日志路径或启动方式

我可以给你更精准的搜索命令。

0 踩