国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 泽州县| 东莞市| 钟山县| 奇台县| 奉节县| 包头市| 阿荣旗| 齐齐哈尔市| 阿城市| 祁连县| 含山县| 义马市| 工布江达县| 麦盖提县| 盘锦市| 昌平区| 库车县| 攀枝花市| 安徽省| 永仁县| 岳西县| 莲花县| 台前县| 墨玉县| 涿鹿县| 张家川| 法库县| 沭阳县| 广丰县| 岳阳市| 兰考县| 寻乌县| 饶阳县| 广宁县| 定南县| 汕头市| 离岛区| 鸡泽县| 本溪市| 乌兰县| 库车县|