python 利用正则表达式分析日志信息

在工作过程中遇到这样一个需求场景,统计查询耗时,由于生产环境没法用来测试,只能从之前的日志信息中获取分析,

日志文件中输出了大量的日志信息。

解决思路是先找到查询的开始点和结束点,然后计算查询耗时。

 

用到的模块:

re, datetime

注意要使用datetime来计算耗时,datetime要比time强大,可以精确到微秒级别

读文件:

with open("D:\\imglog\\20180408\\serverlog.txt","r") as f:
    for line in f:
        match1 = re.match(p1,line)
        if match1:
            imageid = match1.group('imageId')
            dstr = match1.group('date')            imglist.append(imageid)
            imgdict[imageid] = dstr
            #print(match1.group('date'))
            #print(match1.group('imageId'))
        match2 = re.match(p2,line)
        if match2:
            imageid = match2.group('imageId')
            
            if imageid in imglist:
                d1 = imgdict[imageid]
                d2 = match2.group('date')
                print(imgdict[imageid]+' - '+match2.group('date'))
                sum = sum + dateCompare(d1,d2)/1000
                count = count + 1

计算时差:

def dateCompare(d1,d2):
    dd1 = datetime.datetime.strptime(d1,"%Y/%m/%d %H:%M:%S.%f")
    dd2 = datetime.datetime.strptime(d2,"%Y/%m/%d %H:%M:%S.%f")
    return (dd2-dd1).microseconds

 

 

 

  

转载于:https://www.cnblogs.com/nikolas9527/p/8867891.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值