- 论坛徽章:
- 0
|
各位兄弟姐妹好,小弟请教大家个问题:
我想要的效果是把web请求时间大于某个值的日志截取出来,方便开发人员查看哪个方法引起系统缓慢,方便开发调优。
文件格式如下(".*"代表省略)
.......
(2012-08-22 09:46:40,431) [STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)' WARN .*
(2012-08-22 09:46:56,160) [ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)' INFO .*
java.lang.NullPointerException:.*
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
.......
(2012-08-22 09:46:56,161) [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' INFO .*
(2012-08-22 09:46:56,134) [ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)' INFO [com.test.ParamFilter ] - request_end used 295 ms
......
这里面使我困扰和需要的解决的是
1.把日志按照线程号分割成不同的文本
2.当前行没有线程号则属于上一个线程号的文本
3.分割后如何按照(request_end)这个标志,把抽取连续行
在下不才,只能只能有这水平。。。求指教
awk '{if ($0 ~ ".*request_end used .* ms.*" if($15>10000) {print $0}}'
|
|