我尝试用python解析日志。我使用正则表达式运算。如果日志是标准格式的,它就可以正常工作。标准格式如下所示:
[158.197.233.55] : - : - :[03/Jan/2018:06:06:21 +0100] : "GET / HTTP/1.1" : 200 : 3041
问题是有些日志不是标准格式的,因为它们写得不正确。我有这样不正确的日志:
[158.197.238.112 : - : - [16/Jan/2018:17:32:02 +0100] : GET /phpmyadmin/themes/pmahomme/css/printview.css?v=4.6.6deb4 HTTP/1.1 : 200 : 988
还是这个
50.93.204.105 : - : - : [07/Jan/2018:15:53:34 +0100] GET /manager/html HTTP/1.1 404 290`
还是这个
[158.197
.233.55] : - : - [03/Jan/2018:06:16:31 +0100]
或者许多其他类型的错误日志。
问题是我修不了原木。我也不能写正则表达式来解析所有类型的错误日志。我尝试了这个,但是有太多不正确的类型。你知道怎么解决这个问题吗?我认为最好的方法是:如果regrex找到一条线witchdont match group
,就跳错线。在python中有可能做到这一点吗?还是有别的办法
如果要比较行并在行不符合标准格式时跳过,可以使用:
相关问题 更多 >
编程相关推荐