grep命令实战
需求
检索日志关键字,通常会得到几次请求的记录。如果想查看其中某次请求的日志记录。
方案
检索日志关键字,通常会得到几次请求的记录。
拿到日志前的时间戳,检索时间戳拿到唯一的值。然后检索时间戳的附近的n行数据。
grep -n '支付结果方法进入' logs/SmartCard_Start.log
grep '2019-11-21 19:50:10.234' SmartCard_Start.log -A 20
-n 显示行号
-A 显示之后的n行数据。
实例
[root@59 smartcard]# grep -n '支付结果方法进入' logs/SmartCard_Start.log
4087:2019-11-21 16:17:59.559 INFO [http-nio-8086-exec-1] com.yuantiao.smartcardms.service.xhpay.PayResultCommonService Line:117 - 支付结果方法进入|支付订单号=201911211613177578746,业务流水号=1012022019112116131874698184,交易状态=1,取餐号=0.01,交易金额=Thu Nov 21 16:17:59 CST 2019,交易时间={}
[root@59 logs]# grep '2019-11-21 19:50:10.234' SmartCard_Start.log -A 20
2019-11-21 19:50:10.234 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.SqlSessionUtils Line:49 - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e23ccf3]