国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python動態(tài)監(jiān)控日志內容的示例

2020-02-23 05:09:40
字體:
來源:轉載
供稿:網友

日志文件一般是按天產生,則通過在程序中判斷文件的產生日期與當前時間,更換監(jiān)控的日志文件
程序只是簡單的示例一下,監(jiān)控test1.log 10秒,轉向監(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'

#日志文件一般是按天產生,則通過在程序中判斷文件的產生日期與當前時間,更換監(jiān)控的日志文件
#程序只是簡單的示例一下,監(jiān)控test1.log 10秒,轉向監(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()
        # 判斷內容是否為空
        if line:
            print(line)
        # 當前時間
        thistime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
        if thistime >= stoptime:
            # 終止子進程
            popen.kill()
            print '殺死subprocess'
            break
    time.sleep(2)
    monitorLog(logFile2)

if __name__ == '__main__':
    monitorLog(logFile1)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广昌县| 隆安县| 洪泽县| 星座| 广西| 黄陵县| 沅江市| 琼结县| 阳山县| 方山县| 鄂尔多斯市| 柳林县| 北宁市| 聂拉木县| 旬阳县| 黔江区| 昔阳县| 保定市| 丹东市| 任丘市| 治县。| 凌海市| 潮州市| 瑞金市| 吉林省| 腾冲县| 诸暨市| 丰都县| 蒙城县| 武乡县| 社旗县| 萨嘎县| 高平市| 垦利县| 三河市| 铜鼓县| 西昌市| 霞浦县| 祁东县| 慈溪市| 西昌市|