在实际工作中除了采用Notpad++进行日志查找以外,还有一种更加简单的方法就是之间将需要的关键字日志进行提取的功能。该工具可以实现特定关键字提取和分析,该工具暂时实现功能点:
1.自动读取文件夹下的所有日志文件;
2.从日志文件中提取出所需要的关键字;
3.自动将日志文件解压到文件夹中【暂未实现,下周补齐】
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
name = '日志分析工具',
author = '$Mayongdong',
author_email = '$1362815397@qq.com',
description = '$自动从日志中提取关键字,用于问题定位'
date = '2020-03-07 15:54:00'
"""
import os
import re
import datetimepath = r"D:\CODE\LogAnalysis-master\SogouQ"#原始数据
target = open(r'D:\CODE\LogAnalysis-master\SogouQ\result.log', 'w')#结果输出
files= os.listdir(path)#得到文件夹下的所有文件名称
countX = []for file in files:#遍历文件夹
if not os.path.isdir(file):#判断是否是文件夹,不是文件夹才打开
f = open(path + "/" + file)#打开文件
iter_f = iter(f)#创建迭代器
print(iter_f)#输出每个文件
for line in iter_f: #遍历文件,一行行遍历,读取文本
if (line.find("error") > -1) or (line.find("fatal") > -1)or (line.find("exception") > -1)or (line.find("exception1") > -1):
result = re.findall(r'error|fatal|exception1|exception',line)
print(line)
target.writelines(line)target.close()
now_time = datetime.datetime.now()
print(now_time,"自动化日志分析完成,详情请见result文件!!!")
上面代码可以实现从日志文件中将包含 error|fatal|exception1|exception几个关键字的日志所在行进行打印出来,实际效果如下:
文章图片
【python编程|【Python】日志关键字分析工具】 代码比较简单,大佬请绕行,勿喷~~~~
推荐阅读
- R语言从入门到机器学习|R语言rename重命名dataframe的列名实战:rename重命名dataframe的列名(写错的列名不会被重命名)
- Pyecharts|Pyecharts 猎聘招聘数据可视化
- Python|Python--随机森林模型
- 数据挖掘|【数据挖掘】二手车交易价格预测(五)建模调参
- python|深度盘点(一文详解数据分析中100个常用指标和术语)
- python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)
- python|requests库请求获取不到数据怎么办(不妨试试看这种妙法)
- 还不了解数据库(Smartbi一文带你入门数据库!)
- 还不会做销售分析(掌握这3个思路,让你秒变分析高手)
- 手把手教你实现地图可视化分析