温馨提示×

Ubuntu Tomcat日志怎么过滤

小樊
44
2026-07-10 10:46:08
栏目: 智能运维

Ubuntu 上过滤 Tomcat 日志,常见做法取决于你使用的是 Tomcat 自带日志Log4j / Logback,还是 systemd/journald。下面按常见场景给你一个完整说明。


一、Tomcat 日志文件位置(默认)

Ubuntu 下 Tomcat 日志一般在:

/var/log/tomcat9/        # Tomcat 9
/var/log/tomcat8/

常见日志文件:

文件 说明
catalina.out 主日志(最常用)
localhost.log 应用相关
manager.log manager 应用
host-manager.log host-manager

二、用 Linux 命令过滤日志(最常用)

1️⃣ 查看实时日志(tail)

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

2️⃣ 按关键字过滤(grep)

查看包含 ERROR 的日志

grep "ERROR" /var/log/tomcat9/catalina.out

忽略大小写

grep -i "error" /var/log/tomcat9/catalina.out

同时过滤多个关键字

grep -E "ERROR|Exception|Failed" /var/log/tomcat9/catalina.out

3️⃣ 查看某段时间日志

今天

grep "2024-01-01" /var/log/tomcat9/catalina.out

指定时间段

grep "2024-01-01 10:" /var/log/tomcat9/catalina.out

4️⃣ 实时过滤日志

tail -f /var/log/tomcat9/catalina.out | grep "ERROR"

5️⃣ 过滤异常堆栈(多行)

grep -A 20 "Exception" /var/log/tomcat9/catalina.out

-A 20:显示匹配行后 20 行


三、按日志级别过滤(INFO / WARN / ERROR)

如果日志格式类似:

INFO  org.xxx
WARN  org.xxx
ERROR org.xxx

可以这样:

grep "ERROR" /var/log/tomcat9/catalina.out

或:

grep -E "ERROR|WARN" /var/log/tomcat9/catalina.out

四、Tomcat + systemd(Ubuntu 16+)

如果 Tomcat 是 systemd 管理:

systemctl status tomcat9

查看日志(journalctl)

journalctl -u tomcat9

实时查看

journalctl -u tomcat9 -f

按时间

journalctl -u tomcat9 --since "2024-01-01 10:00" --until "2024-01-01 12:00"

五、Tomcat 日志配置过滤(logging.properties)

Tomcat 使用 logging.properties

/etc/tomcat9/logging.properties

示例:只记录 WARNING 及以上

org.apache.catalina.level = WARNING

六、Log4j / Logback(Web 应用)

如果你用的是 Log4j2 / Logback,过滤在配置文件中完成:

Logback 示例

<logger name="com.xxx" level="ERROR"/>

七、实用组合示例(推荐)

✅ 实时查看 ERROR 日志:

tail -f /var/log/tomcat9/catalina.out | grep "ERROR"

✅ 查看最近 500 行并过滤异常:

tail -n 500 /var/log/tomcat9/catalina.out | grep -A 10 "Exception"

✅ 统计 ERROR 数量:

grep -c "ERROR" /var/log/tomcat9/catalina.out

八、如果你愿意,我可以进一步帮你

你可以告诉我:

  • ✅ Tomcat 版本
  • ✅ 日志格式示例
  • ✅ 想过滤什么(异常 / 某个接口 / 某个 IP / 某个用户)

我可以给你 更精确的过滤命令或配置

0