python 实现提取log文件中的关键句子,并进行统计分析
利用python开发了一个提取sim.log中的各个关键步骤中的时间并进行统计的程序:
#!/usr/bin/python2.6 importre,datetime file_name='/home/alzhong/logs/qtat1/R2860.01.13/sim-applycommitrollback-bld1.log' file=open(file_name,'r') acnum=[];time_res=[];lnum=0 deftrans_time(time): t1=datetime.datetime.strptime(time,'%y/%m/%d%H:%M:%S') returnt1 for(num,line)inenumerate(file): if(re.search(r'^(.*)BEGINNINGSIMPROCEDURE(.*)$',line)): m=re.search(r'^(.*)BEGINNINGSIMPROCEDURE(.*)$',line) print'Step%d:'%(lnum),m.group(0);lnum+=1 acnum.append(trans_time(line[0:17])) elif(re.search(r'^(.*)CP_W(.*)$',line)): m=re.search(r'^(.*)CP_W(.*)$',line) print'Step%d:'%(lnum),m.group(0);lnum+=1 acnum.append(trans_time(line[0:17])) elif(re.search(r"^(.*)VERIFY_S(.*)$",line)): m=re.search(r"^(.*)VERIFY_S(.*)$",line) print'Step%d:'%(lnum),m.group(0);lnum+=1 acnum.append(trans_time(line[0:17])) elif(re.search(r"^(.*)--actioncommit(.*)$",line)): m=re.search(r"^(.*)--actioncommit(.*)$",line) print'Step%d:'%(lnum),m.group(0);lnum+=1 acnum.append(trans_time(line[0:17])) elif(re.search(r"^(.*)COMPLETEDSIMPROCEDURE(.*)$",line)): m=re.search(r"^(.*)COMPLETEDSIMPROCEDURE(.*)$",line) print'Step%d:'%(lnum),m.group(0);lnum+=1 acnum.append(trans_time(line[0:17])) elif(re.search(r"^(.*)RESUMINGSIMPROCEDURE(.*)$",line)): m=re.search(r"^(.*)RESUMINGSIMPROCEDURE(.*)$",line) print'Step%d:'%(lnum),m.group(0);lnum+=1 acnum.append(trans_time(line[0:17])) file.close() if(re.search(r"^(.*)backout(.*)$",file_name)): time_res.append((acnum[2]-acnum[0]).seconds/60) time_res.append((acnum[4]-acnum[3]).seconds/60) time_res.append((acnum[6]-acnum[5]).seconds/60) time_res.append(((acnum[8]-acnum[7])+(acnum[10]-acnum[9])+(acnum[13]-acnum[11])).seconds/60) print"\n3).sim--procupdate--actionapplyto\"CP_WARNING\"%smins"%(time_res[0]) print"4).sim--procupdate--actionresumeto\"VERIFY_SOFTWARE\"%smins"%(time_res[1]) print"5).sim--procupdate--actionresumeto\"COMMIT\"%smins"%(time_res[2]) print"8).BackoutfromRXXtoRXX%smins"%(time_res[3]) elif(re.search(r"^(.*)rollback(.*)$",file_name)): time_res.append((acnum[2]-acnum[0]).seconds/60) time_res.append((acnum[4]-acnum[3]).seconds/60) time_res.append((acnum[6]-acnum[5]).seconds/60) time_res.append((acnum[8]-acnum[7]).seconds/60) time_res.append(((acnum[10]-acnum[9])+(acnum[12]-acnum[11])+(acnum[15]-acnum[13])).seconds/60) print"\n3).sim--procupdate--actionapplyto\"CP_WARNING\"%smins"%(time_res[0]) print"4).sim--procupdate--actionresumeto\"VERIFY_SOFTWARE\"%smins"%(time_res[1]) print"5).sim--procupdate--actionresumeto\"COMMIT\"%smins"%(time_res[2]) print"6).sim--procupdate--actioncommittoendofPatch%smins"%(time_res[3]) print"8).RollbackfromRXXtoRXX%smins"%(time_res[4]) if__name__=='__main__': pass :q!/home/alzhong/tools:ls simt /home/alzhong/tools:./simt Step0:14/06/1612:31:32BEGINNINGSIMPROCEDURE'updateapply'type=hot... Step1:14/06/1613:18:42RESUMINGSIMPROCEDURE'updateapply'type=hot... Step2:14/06/1613:30:43SIM0317PAUSE_REQUEST:(PROCEDURE)[PAUSE(CP_WARNING):Use'sim--procupdate--actionresume'tocontinue...](update:1435) Step3:14/06/1613:43:40RESUMINGSIMPROCEDURE'updateapply'type=hot... Step4:14/06/1613:47:49SIM0343PAUSE_REQUEST:(PROCEDURE)[PAUSE(VERIFY_SOFTWARE):Use'sim--procupdate--actionresume'tocontinue...](update:1634) Step5:14/06/1613:54:26RESUMINGSIMPROCEDURE'updateapply'type=hot... Step6:14/06/1614:25:41SIM0496PAUSE_REQUEST:(COMMIT)[PAUSE(COMMIT):Use'sim--procupdate--actioncommit'tocontinue...](update:2579) Step7:14/06/1614:41:51RESUMINGSIMPROCEDURE'updatecommit'type=hot... Step8:14/06/1615:18:34COMPLETEDSIMPROCEDURE'updatecommit'type=hot Step9:14/06/1615:31:35BEGINNINGSIMPROCEDURE'updaterollback'type=hotlevel=9999... Step10:14/06/1615:47:34SIM0091PAUSE_REQUEST:(PROCEDURE)[PAUSE(CP_WARNING):Use'sim--procupdate--actionresume'tocontinue...](update_rlbk:421) Step11:14/06/1615:53:30RESUMINGSIMPROCEDURE'updaterollback'type=hotlevel=9999... Step12:14/06/1616:02:03SIM0135PAUSE_REQUEST:(PROCEDURE)[PAUSE(VERIFY_SOFTWARE):Use'sim--procupdate--actionresume'tocontinue...](update_rlbk:564) Step13:14/06/1616:04:22RESUMINGSIMPROCEDURE'updaterollback'type=hotlevel=9999... Step14:14/06/1616:09:42RESUMINGSIMPROCEDURE'updaterollback'type=hotlevel=9999... Step15:14/06/1616:26:56COMPLETEDSIMPROCEDURE'updaterollback'type=hotlevel=9999 3).sim--procupdate--actionapplyto"CP_WARNING"59mins 4).sim--procupdate--actionresumeto"VERIFY_SOFTWARE"4mins 5).sim--procupdate--actionresumeto"COMMIT"31mins 6).sim--procupdate--actioncommittoendofPatch36mins 8).RollbackfromRXXtoRXX47mins
以上这篇python实现提取log文件中的关键句子,并进行统计分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。