Bootstrap

linux查看tomcat日志_Linux 查看指定时间段的日志

2993a5ac6defb0db2d90d545dc4f2fbf.png

测试过程中,经常会出现一闪而过的错误信息提示,没来得及截图, 要想复现,有些许困难。留给开发去定位问题的,只能是提供当时错误信息提示的大概时间, 如2020-07-20 13:00 -13:10 这个时间段,去后台找日志。

以下是2种查看指定时间段日志的命令,比较常用。

日志文件如下-仅供测试:

d514fa5762ebe1f1e63178352edd9e43.png
日志文本

要求:查询2020-07-21 11:58:00~ 12:05:50 这个时间段的日志

方法一 :使用grep命令

命令如下:

grep  -E '2020-07-21 1[1-2]:[5-0][8-5]:[0-5]0' out.log 

aa79f57d5ee077f3c9c6dcbd5e3cc5a3.png
没执行成功的命令

执行结果:Invalid range end

正则表达式匹配的数字 为:[0-9] 等价于 [[:digit:]] 因此以上命令不可用。

换种思路:11:58:00 ~ 12:05:50 这个时间段 拆分为 11:58:00~11:59:59 和12:00:00~12.05:50,命令如下:

'2020-07-21 11:5[8-9]:[0-5][0-9]|2020-07-21 12:0[0-5]:[0-5]0' out.log
grep -E 选项可以用来扩展选项为正则表达式。 如果使用了grep 命令的选项-E,则应该使用 

974a24329c2389e90783b487fe346112.png
执行成功的命令

方法二: 使用sed 命令

'/2020-07-21 11:58:00/,/2020-07-21 12:05:50/p' out.log 
sed -n   
-n选项:只显示匹配处理的行(不加会输出所有)
-p选项:打印
-n 和-p  经常一起使用

956fa315f8a6ce1ba2ab113d8c449858.png
执行成功的命令

aa5aec23ee8c943f2792be691f49a97f.png
;