当前位置: 代码迷 >> J2SE >> 错误捕获
  详细解决方案

错误捕获

热度:214   发布时间:2016-04-24 02:19:09.0
异常捕获
2011-11-06 00:30:56,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2011-11-06 00:30:56,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
javax.xml.rpc.ServiceException: /rest/banner/show
at sdkjflksjdfkljslkdfjljsd
at sdfsdfsdfsadf
at sdfsdfsadf
at sdfsdfsdf
2011-11-06 00:30:56,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

比如上面是一个记录异常的日志文件,记录时间以及发生了什么日志。
如何用正则表达式表示两个时间段之间是否发生了异常,如果发生了异常,怎么把发生的异常记录下来?

------解决方案--------------------
做过类似的东西,不过是给其他人做sql-review,匹配出所有hibernate,我是用groovy写好的。

不知道你具体是要达到什么目标,但可以给你几个思路。
1. 直接使用shell脚本,grep 中有-B和-A这两个参数可以使用,具体可以man grep去看看。
2. 正则匹配一般是逐行匹配,按照你得思路要做整段匹配的话,一个是效率不高,另外表达式写出来兼容性也不高,建议还是按上面朋友的说法,匹配前半段的时间,然后记录Exception,截止到下一个时间点。
3. 不太建议大量使用正则,效率不高,多使用字符匹配,程序性能会偏高些。
  相关解决方案