python实时处理log文件脚本
#!/usr/local/bin/python3.5
###Destription: 实时读取log信息
###Author: Danny Deng
###Datetime: 2016-11-17
import re,time,subprocess,os,linecache
###############定义log文件
file_name = "/var/log/mongodb/mongodb.log"
file_number = "/usr/local/zabbix_agent/number.txt"
j = int(0)
seek = int(0)
###############判断文件是否存在---判断number是否存在---判断number size 与 filesize
###############定义一个函数,遍历文件
def readline():
###############if判断 seek是否大于0,大于则赋值,否则初始为0while True:
###############定义文件,根据seek值进行每行读取,每次tell赋值给seekwith open(file_name,'r') as f:global seek#seek = seekf.seek(seek)data = f.readline()if data:seek = f.tell()yield dataelse:
###############Python变量转换为shell变量global file_numberos.environ['seek'] = str(seek)os.environ['file_number'] = str(file_number)
###############记录上一次执行后的seek值,下次执行直接读取os.system('echo $seek > $file_number')os.system('chown zabbix.zabbix $file_number')return
###############定义函数,find特定字符串从每行数据中
def func_for():j = int(0)for i in readline():f_find = re.findall(r"error", i,flags=re.IGNORECASE)if "error" in f_find:j += 1
###############没有输出0,有值输出出现error匹配到的次数值try:print(j)except NameError:print(int("0"))
###############判断文件是否存在
if os.path.isfile(file_name):
###############判断存储seek的文件是否存在if os.path.isfile(file_number):
###############存在时,读取其seek值seek_number = int(linecache.getline(file_number, 1))
###############如果有值判断seek值与现在文件大小值,大于说明log文件已重新生成,重置seek值为0if os.path.getsize(file_name) >= seek_number and seek_number > 0:seek = seek_numberfunc_for()else:seek = int(0)func_for()
###############如果存储seek值的文件不存在,新建并出示seek值为0else:os.environ['file_number'] = str(file_number)os.system('echo 0 > $file_number')os.system('chown zabbix.zabbix $file_number')func_for()
###############文件不存在 报错
else:print("Error")quit()
转载于:https://www.cnblogs.com/anita-harbour/p/9297741.html
python实时处理log文件脚本相关推荐
- python实时处理_python实时处理log文件脚本
#!/usr/local/bin/python3.5 ###Destription: 实时读取log信息 ###Author: Danny Deng ###Datetime: 2016-11-17 i ...
- python如何读取log文件_怎么解决Python读取log文件时报错
怎么解决Python读取log文件时报错 发布时间:2020-05-23 14:15:56 来源:亿速云 阅读:157 作者:鸽子 问题描述: 写了一个读取log文件的Python脚本:# -*- c ...
- python读取log文件_python文件读写(一)-txt, log, json, csv, xml文件
1.概述在平时自动化测试工作中,经常会用python对一些文件进行读写操作.其中使用最多的文件格式,就是txt, log, json, csv, xml, zip, tar, gz, ra ...
- python生成log文件
log意即日志,通常是系统或者某些软件对已完成的某种处理的记录,以便将来做为参考,它并没有固定的格式,通常是文本文件,可以用记事本打开以查看内容,当然很可能是其它格式,直接打开就是乱码. log文件的 ...
- Python用log文件绘制损失、准确率曲线
一.导入包 from matplotlib import rcParams import matplotlib.pyplot as plt import re 二.读取文件 ##显示中文 rcPara ...
- python解析log文件_python解析基于xml格式的日志文件
大家中午好,由于过年一直还没回到状态,好久没分享一波小知识了,今天,继续给大家分享一波Python解析日志的小脚本. 首先,同样的先看看日志是个啥样. 都是xml格式的,是不是看着就头晕了??没事,我 ...
- 利用python 提取log 文件里的关键句子,并进行统计分析
利用python开发了一个提取sim.log 中的各个关键步骤中的时间并进行统计的程序: #!/usr/bin/python2.6 import re,datetime file_name='/hom ...
- python读取log文件生成图形表_python提取log文件内容并画出图表
之前在excel里面分析log数据,简直日了*了. 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用. 日志内容大致如下 2016-10-21 21:07:59 ...
- python读取log文件_python之文件的读写(文本文档,log文件)
1 #文件打开方式,文件打开是有返回值的 2 #open函数 3 #file_object = open(file_name,access_mode='r') 4 #file_name 必填形参, a ...
最新文章
- vscode 格式化某一段代码_VSCode格式化代码功能失效的bug解决方法
- Ajax弹出漂亮可拖动的提示层(窗)效果
- 【IBM Tivoli Identity Manager 学习文档】3 系统部署
- 微博鸿蒙测试版,不久前华为宣布,将会在6月2日举... - @姬永锋 的微博精选 - 微博国际站...
- auxprop mysql_Postfix 反垃圾过滤
- 100年前没人信他,但他仅1项研究便远程摧毁万架飞机……
- python编程能力等级测试_56岁的潘石屹参加全国青少年编程能力等级测试,你还在问编程是什么?...
- Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作
- gradle 上传jar包_gradle 打包jar上传到nexus 同时上传源码jar
- anaconda在win下和在mac下的安装区别
- MFC TabCtrl用法
- sizeof与offsetof有关的结构体详解
- python 序列化压缩成字符串_Python 将json序列化后的字符串转换成字典(推荐)
- 了解.Net Remoting从基础开始
- 生物医学基础--讲不明白12导联算我输
- c#Code Contracts代码协定
- 浅谈堆栈问题-C++
- 关于Android直接连MySQL获取数据的真机测试的一些坑
- Mysql replace/insert into 插入修改数据
- 关于我写公众号的目的和原因