温馨提示×

怎样按时间查tomcat日志

小樊
46
2026-09-30 17:05:43
栏目: 智能运维

在 Tomcat 中,按时间查找日志通常有以下几种常见做法,取决于你用的是哪种日志文件和配置。


一、Tomcat 常见日志文件

Tomcat 默认日志一般在:

$TOMCAT_HOME/logs/

常见文件:

  • catalina.out:主输出日志(最常用)
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • localhost_access_log.YYYY-MM-DD.txt(访问日志)

二、按时间查 catalina.out(最常用)

1️⃣ 用 grep + 时间关键字

Tomcat 默认时间格式类似:

2024-01-15 10:23:45

查找某天:

grep "2024-01-15" catalina.out

查找某时间段(例如 10 点到 11 点):

grep "2024-01-15 10:" catalina.out

2️⃣ 使用 sed 按行时间区间截取(推荐)

如果日志时间格式是标准格式:

sed -n '/2024-01-15 10:00:00/,/2024-01-15 11:00:00/p' catalina.out

⚠️ 注意:

  • 起止时间必须真实存在于日志中
  • 否则可能匹配不到

3️⃣ 使用 awk 按时间过滤(更灵活)

awk '$1" "$2 >= "2024-01-15 10:00:00" && $1" "$2 <= "2024-01-15 11:00:00"' catalina.out

三、按日期查“按天分割”的日志

如果你开启的是每日日志(推荐):

less catalina.2024-01-15.log

或:

grep "ERROR" catalina.2024-01-15.log

四、查访问日志(access log)按时间

访问日志示例:

192.168.1.1 - - [15/Jan/2024:10:23:45 +0800] "GET /api/test"

按小时查:

grep "15/Jan/2024:10:" localhost_access_log.2024-01-15.txt

五、实时按时间看日志

tail -f catalina.out

配合时间过滤(新版本):

tail -f catalina.out | grep "2024-01-15 10:"

六、建议(生产环境)

✅ 开启 按天滚动日志(log4j / logback) ✅ 使用 cronolog 或 Log4j2 时间分割 ✅ 避免只用一个 catalina.out


如果你愿意,可以告诉我:

  • Tomcat 版本
  • 用的是 catalina.out 还是 log4j/logback
  • 想查“报错”还是“访问记录”

我可以给你精确命令。

0 踩