import sys
strFilePath = 'E:\ParseLog\client.txt' ##sys.argv[1]
strKW = 'dt : '
kwLen = len(strKW)
loglist = []
class LogItem(object):
def __init__(self, line, cost):
super(LogItem, self).__init__()
self.line = line
self.cost = cost
def ParseLine(line):
index = line.find(strKW)
#if(strKW in line):
if(-1 != index):
timeCost = float(line[index + kwLen:])
loglist.append(LogItem(line, timeCost))
#print(line)
def PrintLogList(l):
logNum = min(len(loglist), 20)
for i in range(logNum):
print(loglist[i].line)
def Compare(elem):
return elem.cost
#逐行读取
with open(strFilePath, 'r') as f:
for line in f.readlines():
ParseLine(line)
loglist.sort(key = Compare, reverse = True)
PrintLogList(loglist)
日志格式如:[2020.4.28] [15:33:18]: [LUA-print] RemovePlayer dt : 0.1279296875
本文介绍了一种Python实现的日志解析方法,通过定义特定关键字'dt:'来筛选并解析日志文件,提取时间消耗信息,进而进行性能分析。解析后的日志项按时间消耗降序排列,并展示前20条记录。
1345

被折叠的 条评论
为什么被折叠?



