在 Tomcat 中,按时间查日志通常分几种情况,取决于你用的是哪种日志、以及操作系统。下面按最常见场景说明。
一般位于:
$TOMCAT_HOME/logs/
常见文件:
catalina.out:主日志(最常用)catalina.2025-01-21.loglocalhost.2025-01-21.logaccess_log.*.txt(访问日志)grep "2025-01-21" catalina.out
awk '$0 >= "2025-01-21 10:00" && $0 <= "2025-01-21 11:00"' catalina.out
前提是日志行开头有时间,如:
2025-01-21 10:12:33 INFO ...
date -d '-1 hour' +"%Y-%m-%d %H:%M"
结合 awk 或 sed 使用。
如果 Tomcat 按天滚动日志:
less catalina.2025-01-21.log
查某小时:
grep "10:" catalina.2025-01-21.log
access log 示例:
192.168.1.1 - - [21/Jan/2025:10:12:33 +0800] "GET /api/test"
查某时间段:
awk -F'[' '$2 >= "21/Jan/2025:10:00" && $2 <= "21/Jan/2025:11:00"' access_log.2025-01-21.txt
tail -f catalina.out | grep "2025-01-21 10:"
head catalina.out
grep 再 less:grep "2025-01-21" catalina.out | less
如果你能告诉我:
我可以给你精准命令。