温馨提示×

怎样过滤debian tomcat日志

小樊
36
2026-09-04 10:29:30
栏目: 智能运维

在 Debian 上运行 Tomcat 时,日志一般来自以下几个地方:

  • Tomcat 自身日志/var/log/tomcat9/(版本不同路径可能不同,如 tomcat8tomcat10
  • 系统日志journalctl(如果用 systemd 管理 Tomcat)
  • 应用日志:通常在 catalina.out 或应用自己的 log 文件

下面按常见场景说明如何“过滤”Tomcat 日志。


一、使用 grep 过滤日志内容

1. 过滤 catalina.out

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

2. 实时过滤

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

3. 过滤多个关键字

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

4. 忽略大小写

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

二、按时间过滤日志

1. 查看某天日志

grep "2026-01-21" /var/log/tomcat9/catalina.out

2. 查看某时间段

awk '/2026-01-21 10:00/,/2026-01-21 11:00/' /var/log/tomcat9/catalina.out

三、使用 journalctl 过滤(systemd 管理 Tomcat)

1. 查看 Tomcat 日志

journalctl -u tomcat9

2. 实时查看

journalctl -u tomcat9 -f

3. 按关键字过滤

journalctl -u tomcat9 | grep ERROR

4. 按时间过滤

journalctl -u tomcat9 --since "2026-01-21 10:00" --until "2026-01-21 11:00"

四、使用 logrotate 控制日志大小(间接“过滤”)

Debian 默认有:

/etc/logrotate.d/tomcat9

示例:

/var/log/tomcat9/catalina.out {
    rotate 7
    daily
    compress
    missingok
    notifempty
}

五、在 Tomcat 中配置日志级别(真正“过滤”日志量)

1. 修改 logging.properties

路径:

/etc/tomcat9/logging.properties

示例(只记录 WARNING 以上):

org.apache.catalina.level = WARNING

2. 使用 Log4j / Logback(推荐)

如果是 Spring Boot 或自定义应用:

  • 配置 logback.xml
  • 按包、级别过滤日志

六、实用组合示例

实时只看异常

tail -f /var/log/tomcat9/catalina.out | grep -i "exception\|error"

统计错误数量

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

如果你能说明:

  • Tomcat 版本(9 / 10?)
  • 想过滤什么内容(错误、某个接口、某个用户?)
  • 实时还是历史日志

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

0