有什么简单的方法可以解析计算机生成的日志文件? 这是我要读取并保存到SQL的文件中的第一行。
#4
仅返回' vikan2 '的含义,它返回一个长字符串...
('vikan2] [ACT:vitp3] [BINF:] [FID:e6f97a4b-c4bc-4aa1-876b-3a5ce40b4cfd',)
我正在尝试将字符串转换为如下所示的字典...
import re
mytext='''2018-07-22 08:12:02 Receive DR [SMAC:PI_ID_VOP3_N_K_T] [SVC:vikan2] [ACT:vitp3] [BINF:] [FID:e6f97a4b-c4bc-4aa1-876b-3a5ce40b4cfd] [META:?spp?dl_err=%03%00%
00&] [from:ALERTS] [to:91985] [flags:-1:-1:-1:-1:1] [msg:132:id:e6f97a4b-c4bc-4aa1-876b-3a5ce40b4cfd sub:001 dlvrd:001 submit date:180722070002 done date:1807220
81157 stat:DEL err:000 text:] [udh:0:]
'''
values = re.search(r'SVC:(.*)]', mytext)
print (values.groups())
更新:
1)我无法读取“元”字段(即未返回预期的字符串'?spp?dl_err =%03%00%\ n00&'
2)我能够使用此代码构建字典。但是我相信必须有更好的方法来做到这一点。
{'log_date':'2018-07-22 08:12:02', 'log_entry':'Receive DR',
'SMAC': 'PI_ID_VOP3_N_K_T',
'SVC': 'vikan2',
'ACT': 'vitp3',
'BINF': '',
'FID': 'e6f97a4b-c4bc-4aa1-876b-3a5ce40b4cfd',
'META': '?spp?dl_err=%03%00%\n00&',
'from': 'ALERTS',
'to': '91985',
'flags': '-1:-1:-1:-1:1',
'msg': '132:id:e6f97a4b-c4bc-4aa1-876b-3a5ce40b4cfd',
'sub': '001',
'dlvrd': '001',
'submit date': '180722070002',
'done date': '1807220\n81157',
'stat': 'DEL',
'err': '000',
'text': '',
'udh': '0:'}