温馨提示×

debian tomcat日志怎么过滤

小樊
44
2026-09-01 09:00:20
栏目: 智能运维

在 Debian 上运行 Tomcat 时,日志一般位于 /var/lib/tomcat9/logs/(版本不同路径可能不同,如 tomcat8tomcat10),常见日志文件有:

  • catalina.out
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • localhost_access_log.YYYY-MM-DD.txt

下面按常见需求给你几种过滤方式。


一、按关键字过滤(最常用)

1. 查看包含某关键字的日志

grep "ERROR" /var/lib/tomcat9/logs/catalina.out

2. 忽略大小写

grep -i "error" /var/lib/tomcat9/logs/catalina.out

3. 显示关键字前后内容

grep -C 5 "NullPointerException" catalina.out
  • -A 5 后 5 行
  • -B 5 前 5 行
  • -C 5 前后各 5 行

二、按时间过滤

1. 过滤某一天的日志

grep "2024-01-15" catalina.out

2. 过滤某个时间段(如 10:00–11:00)

awk '$0 ~ /10:[0-9][0-9]:[0-9][0-9]/' catalina.out

三、实时查看并过滤(排错很常用)

1. 实时看 ERROR

tail -f catalina.out | grep "ERROR"

2. 实时看多个关键字

tail -f catalina.out | grep -E "ERROR|WARN|Exception"

四、过滤访问日志(access log)

访问日志格式一般是:

IP - - [时间] "GET /api HTTP/1.1" 200 -

1. 查看 500 错误

grep " 500 " localhost_access_log.*.txt

2. 查看某个接口

grep "/api/login" localhost_access_log.*.txt

3. 统计访问最多的 IP

awk '{print $1}' localhost_access_log.*.txt | sort | uniq -c | sort -nr

五、按日志级别过滤(如果用了 log4j / logging.properties)

Tomcat 默认日志级别在:

/etc/tomcat9/logging.properties

可修改:

org.apache.catalina.level = FINE

六、日志太大怎么办

1. 只查看最近 100 行

tail -n 100 catalina.out

2. 分页查看

less catalina.out

less 中:

  • /error 搜索
  • q 退出

如果你能告诉我:

  • Tomcat 版本
  • 想过滤什么(异常 / 接口 / 时间)
  • catalina.out 还是 access log

我可以给你更精确的命令

0