欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 日志增量抓取實(shí)現(xiàn)方法

 更新時(shí)間:2018年04月28日 09:09:36   作者:碼農(nóng)少抽煙  
下面小編就為大家分享一篇python 日志增量抓取實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

實(shí)例如下所示:

import time
import pickle
import os
import re
class LogIncScaner(object):
  def __init__(self,log_file, reg_ex,seek_file='/tmp/log-inc-scan.seek.temp'):
    self.log_file = log_file
    self.reg_ex = reg_ex
    self.seek_file = seek_file
  def scan(self):
    seek = self._get_seek()
    file_mtime = os.path.getmtime(self.log_file)
    if file_mtime <= seek['time']:
      print 'file mtime not change since last scan'
      seek['time'] = file_mtime
      self._dump_seek(seek)
      return []
    file_size = os.path.getsize(self.log_file)
    if file_size <= seek['position']:
      print 'file size not change since last scan'
      seek['position'] = file_size
      self._dump_seek(seek)
      return []
    print 'file changed,start to scan'
    matchs = []
    with open(self.log_file, 'rb') as logfd:
      logfd.seek(seek['position'],os.SEEK_SET)
      for match in re.finditer(self.reg_ex, logfd.read()):
        matchs.append(match)
      seek = {'time':time.time(),'position': logfd.tell()}
      print seek
      self._dump_seek(seek)
    return matchs
  def _get_seek(self):
    seek = {'time':time.time(),'position':0}
    if os.path.exists(self.seek_file):
      with open(self.seek_file,'rb') as seekfd:
          try:
            seek = pickle.load(seekfd)
          except:
            pass
    print seek
    return seek
  def _dump_seek(self, seek):
    with open(self.seek_file,'wb') as seekfd:
      pickle.dump(seek,seekfd)
  def reset_seek(self):
    self._dump_seek({'time':time.time(),'position':0})
if __name__ == "__main__":
  scaner = LogIncScaner('/var/log/messages',r'(\w+ \d+ \d+:\d+:\d+) .+?exception')
  scaner.reset_seek()
  while True:
    matchs = scaner.scan()
    for match in matchs:
      print 'fond at:' + match.group(1) + ' content:' + match.group(0)
    time.sleep(5)

以上這篇python 日志增量抓取實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件

    python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件

    這篇文章主要介紹了python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件,通過(guò)準(zhǔn)備要打包的工程文件展開詳情,需要的小伙伴可以參考一下
    2022-05-05
  • pyinstaller打包exe程序的步驟和添加依賴文件的實(shí)現(xiàn)

    pyinstaller打包exe程序的步驟和添加依賴文件的實(shí)現(xiàn)

    這篇文章主要介紹了pyinstaller打包exe程序的步驟和添加依賴文件的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • PyPy?如何讓Python代碼運(yùn)行得和C一樣快

    PyPy?如何讓Python代碼運(yùn)行得和C一樣快

    這篇文章主要介紹了如何讓Python代碼運(yùn)行得和C一樣快,由于?PyPy?只是?Python?的一種替代實(shí)現(xiàn),大多數(shù)時(shí)候它都是開箱即用,無(wú)需對(duì)?Python?項(xiàng)目進(jìn)行任何更改。它與?Web?框架?Django、科學(xué)計(jì)算包?Numpy?和許多其他包完全兼容,推薦大家多多使用
    2022-01-01
  • uwsgi+nginx部署Django項(xiàng)目操作示例

    uwsgi+nginx部署Django項(xiàng)目操作示例

    這篇文章主要介紹了uwsgi+nginx部署Django項(xiàng)目操作,結(jié)合實(shí)例形式簡(jiǎn)單介紹了uwsgi的概念、原理、安裝、項(xiàng)目創(chuàng)建、配置、調(diào)試運(yùn)行等相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • Python Django教程之實(shí)現(xiàn)待辦事項(xiàng)應(yīng)用程序

    Python Django教程之實(shí)現(xiàn)待辦事項(xiàng)應(yīng)用程序

    Django是一個(gè)基于Python Web框架的高級(jí)Web框架,允許快速開發(fā)和干凈,務(wù)實(shí)的設(shè)計(jì)。本文將創(chuàng)建一個(gè)待辦事項(xiàng)應(yīng)用程序,以了解Django的基礎(chǔ)知識(shí),感興趣的可以嘗試一下
    2022-10-10
  • windows下numpy下載與安裝圖文教程

    windows下numpy下載與安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了windows下numpy下載與安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 舉例詳解Python中循環(huán)語(yǔ)句的嵌套使用

    舉例詳解Python中循環(huán)語(yǔ)句的嵌套使用

    這篇文章主要介紹了舉例詳解Python中循環(huán)語(yǔ)句的嵌套使用,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 對(duì)pycharm 修改程序運(yùn)行所需內(nèi)存詳解

    對(duì)pycharm 修改程序運(yùn)行所需內(nèi)存詳解

    今天小編就為大家分享一篇對(duì)pycharm 修改程序運(yùn)行所需內(nèi)存詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python list格式數(shù)據(jù)excel導(dǎo)出方法

    python list格式數(shù)據(jù)excel導(dǎo)出方法

    今天小編就為大家分享一篇python list格式數(shù)據(jù)excel導(dǎo)出方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python3判斷url鏈接是否為404的方法

    python3判斷url鏈接是否為404的方法

    這篇文章主要介紹了python3判斷url鏈接是否為404的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08

最新評(píng)論