python-日志分析

功能:主要用于日志关键字提取,并保存关键字附近行到文件中

import time
time_start=time.time()
info = "port"
old_line1 = " "
old_line2 = " "
old_line3 = " "
info = input("input you want to find:")
f = open("base.log","r")
fw = open("result.txt", "a+")
line = f.readline()
times = 1
line_number = 1
while line:
    old_line3 = old_line2
    old_line2 = old_line1
    old_line1 = line
    #print("new line:", line)
    #
    #print("old line:", old_line)
    if line.find(info) >= 0:
        #print("old_line3:", old_line3)
        #print("old_line2:", old_line2)
        #print("find the info:", line)
        fw.write("***************************"+"\n")
        fw.write("***********"+str(times)+"**************"+"\n")
        fw.write("***************************"+"\n")
        fw.write(str(line_number - 2)+"##old_line3:##"+old_line3)
        fw.write(str(line_number - 1)+"##old_line2:##"+old_line2)
        fw.write(str(line_number)+"##find the info:##"+line)
        fw.write("\n")
        fw.write("\n")
        fw.write("\n")
        times = times + 1
    line = f.readline()
    line_number = line_number + 1


f.close()
fw.close()
time_end=time.time()
print("use time:", time_end - time_start)


暂时的效率是:从1.5G的log文件中获取关键字,得到10000条记录大概花时30S,还是太久了。

后续加入多线程和linecache模块来达到减少时间的花费,并引入配置文件达到一键运行的效果


猜你喜欢

转载自blog.csdn.net/llanlianggui/article/details/79995197