日志检索实战 grep sed

参考

sed命令

使用

grep -5 'parttern' inputfile //打印匹配行的前后5行

grep -C 5 'parttern' inputfile //打印匹配行的前后5行

grep -A 5 'parttern' inputfile //打印匹配行的后5行

grep '安卓端订单分页查询' logs/SmartCard_Start.log -B 5 -n //打印匹配行的前5行

-n 显示行号。
-A 显示匹配行的后n行数据。
-B 显示匹配行的前n行数据。
-C 显示匹配行的前后n行数据。 sed -n '3100,3120p' logs/SmartCard_Start.log
p表示打印, 3100,3120是行号区间。

需求

检索日志关键字,通常会得到几次请求的记录。如果想查看其中某次请求的日志记录。

方案一

检索日志关键字,通常会得到几次请求的记录。

拿到日志前的时间戳,检索时间戳拿到唯一的值。然后检索时间戳的附近的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]

方案二

检索日志关键字,通常会得到几次请求的记录。拿到行号。

然后查看某次请求的行号,通过行号检索日志。

sed -n '3100,3120p' logs/SmartCard_Start.log 检索3100-3120行数据。

实例

[root@59 smartcard]# sed -n '3100,3120p' logs/SmartCard_Start.log 

2019-11-21 20:28:03.040 INFO  [http-nio-8086-exec-3] com.yuantiao.smartcardms.web.order.OrderController Line:132 - [安卓端订单分页查询]请求参数:companyId=1,memberName=,memberTel=,orderType=01, orderStatus=null,lowDate=2019-11-21,highDate=2019-11-21, pageNo=3,pageSize=9
2019-11-21 20:28:03.043 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.SqlSessionUtils Line:49 - Creating a new SqlSession
2019-11-21 20:28:03.044 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.SqlSessionUtils Line:49 - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@477bc374] was not registered for synchronization because synchronization is not active
2019-11-21 20:28:03.057 DEBUG [http-nio-8086-exec-3] org.springframework.jdbc.datasource.DataSourceUtils Line:115 - Fetching JDBC Connection from DataSource
2019-11-21 20:28:03.080 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.transaction.SpringManagedTransaction Line:49 - JDBC Connection [HikariProxyConnection@860533898 wrapping com.mysql.cj.jdbc.ConnectionImpl@b0f33fc] will not be managed by Spring

最新文章

  1. Android进程整理
  2. Win7配置Nginx+PHP7
  3. 洛谷 P1012 拼数 Label:续命模拟QAQ
  4. No.003:Longest Substring Without Repeating Characters
  5. NYOJ-171 聪明的kk AC 分类: NYOJ 2014-01-02 09:01 165人阅读 评论(0) 收藏
  6. 验证码 jsp生成
  7. 项目swift的一些问题
  8. 学习ASP.NET Core Razor 编程系列十三——文件上传功能(一)
  9. [Swift]LeetCode756. 金字塔转换矩阵 | Pyramid Transition Matrix
  10. k8s运行容器之deployment(三)--技术流ken
  11. tar.gz压缩,查看,解压
  12. docker单机网络类型
  13. Mysql root账号general_log_file方法获取webshell
  14. mysql percona安装
  15. [leetcode]Plus One @ Python
  16. java web mysql.jar java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  17. ORA-10922 Temporary tablespace group is empty错误
  18. Spark分析之SparkContext启动过程分析
  19. Regular进阶: 跨组件通信
  20. Mac下git的环境搭建和基本使用

热门文章

  1. 浅谈浏览器解析 URL+DNS 域名解析+TCP 三次握手与四次挥手+浏览器渲染页面
  2. java 通过Qrcode生成二维码添加图片logo和文字描述
  3. 201871010116-祁英红《面向对象程序设计(java)》第一周学习总结
  4. 【LOJ2402】「THUPC 2017」天天爱射击 / Shooting(整体二分)
  5. Windows许可证 即将过期
  6. typescript里一些有趣的点
  7. python服务不能在docker容器里运行的问题
  8. python画一片绿叶给你
  9. Zookeeper集群的"脑裂"问题处理 - 运维总结
  10. 关于powermock报错org.powermock.reflect.exceptions.FieldNotFoundException: Field 'fTestClass' was not found in class org.junit.internal.runners.MethodValidator.问题解决