python做表格的日志分析_python --日志分析

import datetime

import re

#def convert_time(timestr):

# return datetime.datetime.strptime(timestr, "%d/%b/%Y:%H:%M:%S %z")

#def convert_request(request:str):

# return dict(zip(('method','url','protocol'),request.split()))

def extract(line):

#pattern = '''(?P[\d\.]{7,}) - - \[(?P[^\[\]])\] "(?P[^"])" (?P\d+) (?P\d+) "-" "(?P[^"])" - [\d\.]{7,} \d.\d+ [\d\.]{7,}:\d+ \d.\d+'''

#regex = re.compile(pattern)

p='''(?P[\d\.]{7,}) - - \[(?P[^\[\]]+)\] "(?P[^"]+)" (?P\d+) (?P\d+) "-" "(?P[^"]+)"'''

mat=re.match(p,line)

#matcher=regex.search(line)

if mat is not None:

d = mat.groupdict()

print(d)

else:

print("re.search() returned None")

return d

names = ['http_cdn_src_ip','-','remote_user','time_local','request',

'status','body_bytes_sent','http_referer',

'http_user_agent',

'http_x_forwarded_for', 'remote_addr',

'request_time','upstream_addr','upstream_response_time']

ops={'time_local':lambda timestr:datetime.datetime.strptime(timestr, "%d/%b/%Y:%H:%M:%S %z"),

'request':lambda request:dict(zip(('method','url','protocol'),request.split())),

'status':int,

'body_bytes_sent':int,

}

log_data='''1.24.17.6 - - [07/Dec/2017:15:55:07 +0800] "GET /tch/ApchReprt/getAllon HTTP/1.1" 200 113 "-" "Mozilla/5.0 (Linux; Android 6.0.1; OPPO R9s Build/MMB29M; wv)\

AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043015 \

Safari/537.36 V1_AND_SQ_6.6.9_482_YYB_D QQ/6.6.9.3060 NetType/4G WebP/0.3.0 Pixel/1080" - 68.20.3.21 0.058 127.0.0.1:1111 0.014'''

d={}

#dd={k:ops.get(k, lambda x:x)(v) for k,v in extract(log_data).items()}

for k,v in extract(log_data).items():

if not ops.get(k):

d[k]=v

else:

d[k] = ops.get(k)(v)

#try:

# d[k] = ops.get(k)(v)

#except:

# d[k]=v

print(d)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值