python动态监控日志内容的示例
日志文件一般是按天产生,则通过在程序中判断文件的产生日期与当前时间,更换监控的日志文件
程序只是简单的示例一下,监控test1.log10秒,转向监控test2.log
程序监控使用是linux的命令tail-f来动态监控新追加的日志
#!/usr/bin/python
#encoding=utf-8
#Filename:monitorLog.py
importos
importsignal
importsubprocess
importtime
logFile1="test1.log"
logFile2="test2.log"
#日志文件一般是按天产生,则通过在程序中判断文件的产生日期与当前时间,更换监控的日志文件
#程序只是简单的示例一下,监控test1.log10秒,转向监控test2.log
defmonitorLog(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))
whileTrue:
line=popen.stdout.readline().strip()
#判断内容是否为空
ifline:
print(line)
#当前时间
thistime=time.strftime("%Y-%m-%d%H:%M:%S",time.localtime(time.time()))
ifthistime>=stoptime:
#终止子进程
popen.kill()
print"杀死subprocess"
break
time.sleep(2)
monitorLog(logFile2)
if__name__=="__main__":
monitorLog(logFile1)
相关文章
- VSCode运行Python教程「建议收藏」
- Python垃圾回收机制详解「建议收藏」
- python读取pkl_Python 读取文件
- Python 冒泡排序_python
- python里面的缩进是什么意思_Python缩进规则(一看即懂)[通俗易懂]
- python中copy.deepcopy_Python eval
- 1行Python代码,把PPT转成图片,python-office功能更新~
- 10 个杀手级的 Python 自动化脚本
- Python程序监控脚本
- python实现堆(最大堆、最小堆、最小最大堆)
- Python网络编程-socketserver
- Python 处理各种编码的字符串详解编程语言
- python写个进程监控的脚本详解编程语言
- python面试题大全(一)详解编程语言
- Linux环境下Python开发的历程(linux与python)
- Python中使用MySQL数据库的操作技巧(mysql_python)
- python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
- Python中的tuple元组详细介绍