免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1451 | 回复: 8
打印 上一主题 下一主题

[网络配置] 小弟要做日志做错误信息截取,麻烦大神们看一下啊 [复制链接]

论坛徽章:
1
寅虎
日期:2014-06-05 13:38:02
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-15 16:10 |只看该作者 |倒序浏览
   
    有如下日志,需要截取ERROR信息,即截取[ERROR]到[INFO]之间的信息,请问大神们shell该怎么写?

    谢谢
  1. [ERROR] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = errorLog | Line = 164 ] | null: class java.lang.NullPointerException^M
  2. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 328^M
  3. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: run; 所在行: 63^M
  4. 类: java.lang.Thread; 方法: run; 所在行: 761 |
  5. [INFO] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = infoLog | Line = 106 ] | ^M
  6. 类:com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 311--第3次同步到MySql出错:java.lang.NullPointerException |
  7. [INFO] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = infoLog | Line = 106 ] | ^M
  8. 类:com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 317--将执行保存到临时表的操作! |
  9. [ERROR] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = errorLog | Line = 164 ] | null: class java.lang.NullPointerException^M
  10. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 328^M
  11. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: run; 所在行: 63^M
  12. 类: java.lang.Thread; 方法: run; 所在行: 761 |
  13. [INFO] [2014-09-15 01:40:46]  [ Class = com.util.Log4jLogger | Method = infoLog | Line = 106 ] | ^M
  14. 类:com.order.OrderOperationWS; 方法: handleMessage; 所在行: 137--开始调用修改状态handleMessage |
复制代码

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
2 [报告]
发表于 2014-09-15 21:05 |只看该作者
sed '/\[INFO\]/{N;d}' logfile


试试看吧。

论坛徽章:
1
寅虎
日期:2014-06-05 13:38:02
3 [报告]
发表于 2014-09-16 09:47 |只看该作者
回复 2# qq58945591
错误信息是能截取出来了,但是还截取了一些其他的信息,还有一部分既不是[INFO],也不是[ERROR]的信息被截取出来了,谢谢 你  麻烦再给看一下呗


   

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
4 [报告]
发表于 2014-09-16 10:41 |只看该作者
回复 3# ls2015


   
我是根据你INFO信息仅2行这个规则来过滤掉INFO行跟下一行,剩下的就全部是ERROR部分了,这不是你想要的结果么?

如果你希望得到什么结果,请贴出结果范例。论坛大神很多,总会有热心人帮忙的,我技术菜,但是觉得能凭自己所学的东西能帮人解决问题,这就是快乐。

论坛徽章:
1
寅虎
日期:2014-06-05 13:38:02
5 [报告]
发表于 2014-09-16 10:53 |只看该作者
回复 4# qq58945591
谢谢 帮助非常大


   

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
6 [报告]
发表于 2014-09-16 15:53 |只看该作者
[ERROR] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = errorLog | Line = 164 ] | null: class java.lang.NullPointerException^M //这行截取吗?
类: com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 328^M
类: com.neusoft.dataprocess.processor.DataProcessor; 方法: run; 所在行: 63^M
类: java.lang.Thread; 方法: run; 所在行: 761 |
[INFO] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = infoLog | Line = 106 ] | ^M  //这行截取吗?
类:com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 311--第3次同步到MySql出错:java.lang.NullPointerException |
[INFO] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = infoLog | Line = 106 ] | ^M  
类:com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 317--将执行保存到临时表的操作! |

INFO部分是只要第一个Info还是都要?

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
7 [报告]
发表于 2014-09-16 16:24 |只看该作者
  1. gentoo ~ # sed -r '/\[ERROR\]/,/\[INFO\]/{1h;1!H};$!d;${g;s/\[INFO\][^\e]*\e//g}' file
  2. [ERROR] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = errorLog | Line = 164 ] | null: class java.lang.NullPointerException^M
  3. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 328^M
  4. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: run; 所在行: 63^M
  5. 类: java.lang.Thread; 方法: run; 所在行: 761 |
  6. r | Method = infoLog | Line = 106 ] | ^M
  7. [ERROR] [2014-09-14 01:41:46]  [ Class = com.util.Log4jLogger | Method = errorLog | Line = 164 ] | null: class java.lang.NullPointerException^M
  8. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: process; 所在行: 328^M
  9. 类: com.neusoft.dataprocess.processor.DataProcessor; 方法: run; 所在行: 63^M
  10. 类: java.lang.Thread; 方法: run; 所在行: 761 |
  11. r | Method = infoLog | Line = 106 ] | ^M
复制代码
不是很满意,凑合能出结果

论坛徽章:
1
寅虎
日期:2014-06-05 13:38:02
8 [报告]
发表于 2014-09-16 16:38 |只看该作者
回复 6# super皮波
只要[ERROR]部分,因为还有一些既不是[ERROR]也不是[INFO]的东西,所以删除[INFO]会多留下一些东西


   

论坛徽章:
1
寅虎
日期:2014-06-05 13:38:02
9 [报告]
发表于 2014-09-16 16:39 |只看该作者
回复 7# chengchow
写的很好  大神啊  谢谢


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP