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多线程同步Lock、RLock、Semaphore、Event实例
Nov 21 Python
wxPython定时器wx.Timer简单应用实例
Jun 03 Python
python基于phantomjs实现导入图片
May 13 Python
深入理解Python变量与常量
Jun 02 Python
python实现定时提取实时日志程序
Jun 22 Python
使用python批量化音乐文件格式转换的实例
Jan 09 Python
对pyqt5之menu和action的使用详解
Jun 20 Python
分享PyCharm的几个使用技巧
Nov 10 Python
Python单元测试模块doctest的具体使用
Feb 10 Python
python交互模式基础知识点学习
Jun 18 Python
python3中编码获取网页的实例方法
Nov 16 Python
Python 阶乘详解
Oct 05 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
php数组去重复数据示例
2014/02/25 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
Vue响应式原理详解
2017/04/18 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
python 远程统计文件代码分享
2015/05/14 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
浅谈Python的list中的选取范围
2018/11/12 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
python collections模块的使用
2020/10/16 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
红领巾广播站广播稿
2014/10/19 职场文书
企业法人代表证明书
2015/06/18 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
Python基础之数据结构详解
2021/04/28 Python
Java 多态分析
2022/04/26 Java/Android