python实现定时提取实时日志程序


Posted in Python onJune 22, 2018

本文实例为大家分享了python定时提取实时日志的具体代码,供大家参考,具体内容如下

这是一个定时读取 实时日志文件的程序。目标文件是target_file. 它是应用程序实时写入的。

我要做的是,每个5秒钟,提取一次该日志文件中的内容,然后生成另一个文件,最后把这些文件都汇总。

#!/usr/local/bin/python 
# coding:utf-8 
 
import fileinput 
import time 
import os 
 
target_file = 'user.log' 
init_flag = True # 初次加载程序 
time_kick = 5 
 
record_count = 0 
 
while True: 
 print '当前读到了', record_count 
 #没有日志文件,等待 
 if not os.path.exists(target_file): 
 print 'target_file not exist' 
 time.sleep(time_kick) 
 continue 
 
 try: 
 ip = '10.10.1.100' 
 easytime = time.strftime('%Y%m%d_%H%M%S', time.localtime()) 
 file_name = '%s_user_%s.log' % (ip,easytime) 
 f_w = open(file_name, 'w') 
 if init_flag: 
  #读取整个文件 
  for eachline in fileinput.input(target_file): 
  print eachline 
  f_w.write(eachline) 
  record_count += 1 
 
  init_flag = False 
 else: 
  #如果总行数小于当前行,那么认为文件更新了,从第一行开始读。 
  total_count = os.popen('wc -l %s' % target_file).read().split()[0] 
  total_count = int(total_count) 
  if total_count < record_count: 
  record_count = 0 
 
  for eachline in fileinput.input(target_file): 
  line_no = fileinput.filelineno() 
  if line_no > record_count: 
   print eachline 
   f_w.write(eachline) 
   record_count += 1 
 
 f_w.close() 
 except: 
 pass 
 time.sleep(time_kick)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python生成XML的方法实例
Mar 21 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
python实现隐马尔科夫模型HMM
Mar 25 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
Python微医挂号网医生数据抓取
Jan 24 Python
Python Flask框架模板操作实例分析
May 03 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
Python计算IV值的示例讲解
Feb 28 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
pandas 读取各种格式文件的方法
Jun 22 #Python
python使用turtle库绘制时钟
Mar 25 #Python
Python日期时间对象转换为字符串的实例
Jun 22 #Python
python pandas 对时间序列文件处理的实例
Jun 22 #Python
python使用turtle绘制分形树
Jun 22 #Python
python递归函数绘制分形树的方法
Jun 22 #Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 #Python
You might like
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
2015/06/17 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
javascript每日必学之继承
2016/02/23 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
原生js封装运动框架的示例讲解
2017/10/01 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
python实现定制交互式命令行的方法
2014/07/03 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
使用python-Jenkins批量创建及修改jobs操作
2020/05/12 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
linux下进程间通信的方式
2013/01/23 面试题
新学期开学演讲稿
2014/05/24 职场文书
霸气队列口号
2014/06/18 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
小组组名及励志口号
2015/12/24 职场文书
Nginx进程管理和重载原理详解
2021/04/22 Servers
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python
手写实现JS中的new
2021/11/07 Javascript