python动态监控日志内容的示例


Posted in Python onFebruary 16, 2014

日志文件一般是按天产生,则通过在程序中判断文件的产生日期与当前时间,更换监控的日志文件
程序只是简单的示例一下,监控test1.log 10秒,转向监控test2.log

程序监控使用是linux的命令tail -f来动态监控新追加的日志

#!/usr/bin/python
# encoding=utf-8
# Filename: monitorLog.py
import os
import signal
import subprocess
import time

logFile1 = "test1.log"
logFile2 = 'test2.log'
#日志文件一般是按天产生,则通过在程序中判断文件的产生日期与当前时间,更换监控的日志文件
#程序只是简单的示例一下,监控test1.log 10秒,转向监控test2.log
def monitorLog(logFile):
    print '监控的日志文件 是%s' % logFile
    # 程序运行10秒,监控另一个日志
    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)
Python 相关文章推荐
寻找网站后台地址的python脚本
Sep 01 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
python中子类调用父类函数的方法示例
Aug 18 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
python去除文件中重复的行实例
Jun 29 Python
python实现按关键字筛选日志文件
Dec 24 Python
Python2与Python3的区别详解
Feb 09 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
Jul 03 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 Python
python缩进区别分析
Feb 15 #Python
python求斐波那契数列示例分享
Feb 14 #Python
python列表去重的二种方法
Feb 14 #Python
python实现倒计时的示例
Feb 14 #Python
python实现排序算法
Feb 14 #Python
python实现dnspod自动更新dns解析的方法
Feb 14 #Python
python时间整形转标准格式的示例分享
Feb 14 #Python
You might like
PHP 面向对象 final类与final方法
2010/05/05 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
JavaScript Konami Code 实现代码
2009/07/29 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
TensorFlow实现模型评估
2018/09/07 Python
Django实现单用户登录的方法示例
2019/03/28 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
Python基于requests库爬取网站信息
2020/03/02 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
超级实用的8个Python列表技巧
2020/08/24 Python
Pycharm Git 设置方法
2020/09/15 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python