python動態(tài)監(jiān)控日志內(nèi)容的示例
日志文件一般是按天產(chǎn)生,則通過在程序中判斷文件的產(chǎn)生日期與當前時間,更換監(jiān)控的日志文件
程序只是簡單的示例一下,監(jiān)控test1.log 10秒,轉(zhuǎn)向監(jiān)控test2.log
程序監(jiān)控使用是linux的命令tail -f來動態(tài)監(jiān)控新追加的日志
#!/usr/bin/python
# encoding=utf-8
# Filename: monitorLog.py
import os
import signal
import subprocess
import time
logFile1 = "test1.log"
logFile2 = 'test2.log'
#日志文件一般是按天產(chǎn)生,則通過在程序中判斷文件的產(chǎn)生日期與當前時間,更換監(jiān)控的日志文件
#程序只是簡單的示例一下,監(jiān)控test1.log 10秒,轉(zhuǎn)向監(jiān)控test2.log
def monitorLog(logFile):
print '監(jiān)控的日志文件 是%s' % logFile
# 程序運行10秒,監(jiān)控另一個日志
stoptime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time() + 10))
popen = subprocess.Popen('tail -f ' + logFile, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
pid = popen.pid
print('Popen.pid:' + str(pid))
while True:
line = popen.stdout.readline().strip()
# 判斷內(nèi)容是否為空
if line:
print(line)
# 當前時間
thistime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
if thistime >= stoptime:
# 終止子進程
popen.kill()
break
time.sleep(2)
monitorLog(logFile2)
if __name__ == '__main__':
monitorLog(logFile1)
相關(guān)文章
python利用ddddocr包ocr識別圖片碼的實現(xiàn)
ddddocr是一個輕量級的OCR庫,用于識別圖片中的文字和驗證碼,本文主要介紹了python利用ddddocr包ocr識別圖片碼的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2025-01-01利用python實現(xiàn)微信頭像加紅色數(shù)字功能
通過Python實現(xiàn)將你的 QQ 頭像(或者微博頭像)右上角加上紅色的數(shù)字,類似于微信未讀信息數(shù)量那種提示效果。下面通過本文給大家分享python實現(xiàn)微信頭像加紅色數(shù)字功能,感興趣的朋友一起看看吧2018-03-03Python多進程方式抓取基金網(wǎng)站內(nèi)容的方法分析
這篇文章主要介紹了Python多進程方式抓取基金網(wǎng)站內(nèi)容的方法,結(jié)合實例形式分析了Python多進程抓取網(wǎng)站內(nèi)容相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2019-06-06python?數(shù)據(jù)保存為npy和npz格式并讀取的完整代碼
這篇文章主要介紹了python?數(shù)據(jù)保存為npy和npz格式并讀取,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07python pands實現(xiàn)execl轉(zhuǎn)csv 并修改csv指定列的方法
今天小編就為大家分享一篇python pands實現(xiàn)execl轉(zhuǎn)csv 并修改csv指定列的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12