在 Tomcat 中,按时间查找日志通常有以下几种常见做法,取决于你用的是哪种日志文件和配置。
Tomcat 默认日志一般在:
$TOMCAT_HOME/logs/
常见文件:
catalina.out:主输出日志(最常用)catalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.loglocalhost_access_log.YYYY-MM-DD.txt(访问日志)grep + 时间关键字Tomcat 默认时间格式类似:
2024-01-15 10:23:45
查找某天:
grep "2024-01-15" catalina.out
查找某时间段(例如 10 点到 11 点):
grep "2024-01-15 10:" catalina.out
sed 按行时间区间截取(推荐)如果日志时间格式是标准格式:
sed -n '/2024-01-15 10:00:00/,/2024-01-15 11:00:00/p' catalina.out
⚠️ 注意:
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
访问日志示例:
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
如果你愿意,可以告诉我:
catalina.out 还是 log4j/logback我可以给你精确命令。