程序猿全敏的gravatar头像
程序猿全敏 2017-02-13 10:39:26
记一次python脚本处理日志,获得想要登录成功的相关数据

首先,了解需求。要通过日志来获取登录成功的相关信息。取得日志,查看日志格式。

记一次python脚本处理日志,获得想要登录成功的相关数据

仔细检查下,重要不是代码,是思路。请听解析。

1.登录成功的日志会含有successfully的字样。所以,只要把含有该字样的字段取出来。

2.现在你会发现没行都含有INFO的头。所以,我们现在要想办法把上面的去掉。只要{ }里面的内容,仔细一看,唉!中间有一个AmLogReceiveController -,好,那就一行一行通过这个字段来分开。这样得到的是一个数组,我们只要第二个数组,也就是{ }里面的内容

3.现在得到的是一个json格式的,转对象后来取值,一行一行来转然后取。

好了,基本思路就是这样,我来放代码了。

#coding:gbk
import re
import time
import json
file = 'server1.log'
fin = open(file,'r')
c="successfully"
a=fin.readlines()
fout=open('qm.txt','w')
buff = fin.read()
print("开始处理......")
fout.write("sumbitDate"+"\t"+"xforwardedFor"+"\t"+"id"+"\t"+"msg"+"\n")
for x in a:
    if c in x:
	    attr=x.split('AmLogReceiveController -')
	    data = json.loads(attr[1])
	    fout.write(data['sumbitDate']+"\t"+data['xforwardedFor']+"\t"+data['id']+"\t"+data['msg']+"\n")			
print("处理完毕!生成的文件为qm.txt")
fin.close() 

代码写完了。接着来运行下,看行不行嘛!

记一次python脚本处理日志,获得想要登录成功的相关数据

然后检查一下。qm.txt文件

记一次python脚本处理日志,获得想要登录成功的相关数据

好了,这个逼就装到这里了。有疑问的可以加我qq1610656207.加个基友


打赏
最近浏览
cs383450139 2019年3月22日
暂无贡献等级
shanpengnian  LV13 2018年6月22日
低调人  LV38 2018年5月24日
敏哥gege  LV43 2017年12月5日
203778513  LV9 2017年9月13日
leehaitao2  LV10 2017年8月14日
EnterCJ  LV6 2017年4月10日
pjxiang310  LV2 2017年2月27日
liukai007  LV2 2017年2月27日
zwq0506  LV1 2017年2月24日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友