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中list列表的高级函数
May 17 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
Dec 11 Python
python如何爬取个性签名
Jun 19 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
Python不同目录间进行模块调用的实现方法
Jan 29 Python
Python实现Event回调机制的方法
Feb 13 Python
python如何实现代码检查
Jun 28 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
python中用logging实现日志滚动和过期日志删除功能
Aug 20 Python
python ETL工具 pyetl
Jun 07 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 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内置函数使用指南
2014/11/27 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
javascript常用功能汇总
2015/07/05 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
小程序实现录音功能
2020/09/22 Javascript
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
QML用PathView实现轮播图
2020/06/03 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
财务管理专业自荐信范文
2013/12/24 职场文书
交通安全标语
2014/06/06 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
小学优秀班主任材料
2014/12/17 职场文书
春节慰问简报
2015/07/21 职场文书
装修公司管理制度
2015/08/05 职场文书
学生会工作感言
2015/08/07 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS