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中的条件判断语句与循环语句用法小结
Mar 21 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 Python
python调用OpenCV实现人脸识别功能
May 25 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
通过pycharm使用git的步骤(图文详解)
Jun 13 Python
基于python traceback实现异常的获取与处理
Dec 13 Python
python psutil监控进程实例
Dec 17 Python
如何基于python实现脚本加密
Dec 28 Python
jupyter notebook 实现matplotlib图动态刷新
Apr 22 Python
django自带的权限管理Permission用法说明
May 13 Python
对python pandas中 inplace 参数的理解
Jun 27 Python
用Python将库打包发布到pypi
Apr 13 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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
php表单转换textarea换行符的方法
2010/09/10 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
jQuery 使用手册(三)
2009/09/23 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
Python脚本实现格式化css文件
2015/04/08 Python
简单介绍Python中的RSS处理
2015/04/13 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
使用Python在Windows下获取USB PID&VID的方法
2019/07/02 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
Django权限设置及验证方式
2020/05/13 Python
web页面录屏实现
2019/02/12 HTML / CSS
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
亿企通软件测试面试题
2012/04/10 面试题
工商管理专业应届生求职信
2013/11/04 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
建议书格式
2015/02/04 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
演讲开场白和结束语
2015/05/29 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
创业计划书之面包店
2019/09/12 职场文书
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL