Python监控日志程序
一个简易的日志监控的脚本,功能如下:1.windows环境2.当匹配日志关键字时会发出声音,匹配的关键字不同,播放的声音不同3.能做到实时响应
注意:是在win环境下哦
直接上代码吧
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | #!/usr/bin/env python# encoding: utf-8  """MonitorLog.py  Usage: MonitorLog.py ...Monitor the log file  -f  log file-h  help info  python MonitorLog.py -f C:\monitor.log  """  importsysimportosimportgetoptimportsubprocessimporttimeimportcodecsimportwinsound  ABSPATH =os.path.dirname(os.path.abspath(__file__))MONITERCONF ='moniter_keyword.txt'#utf8 file  defmain():    try:        opts, args =getopt.getopt(sys.argv[1:], 'hf:')    exceptgetopt.GetoptError, err:        printstr(err)        print__doc__        return1      path =''    fork, v inopts:        ifk =='-f':            path =v        elifk =='-h':            print__doc__            return0      ifnot(path andos.path.exists(path)):        print'Invalid path: %s'%path         print__doc__        return2      #命令行元组    cmd =('tail', '-f', path)    print' '.join(cmd)    output =subprocess.Popen(cmd, stdout=subprocess.PIPE)      keywordMap ={}    #加载监控的关键字信息    with codecs.open(os.path.join(ABSPATH, MONITERCONF), 'r', 'utf8') as f:        lines =f.readlines()    forline inlines:        line =line.strip()        ifnotline:            continue        keyword, wav =line.strip().split(':')        keywordMap[keyword] =wav      whileTrue:        line =output.stdout.readline()        #process code,得到输出信息后的处理代码        ifnotline:            time.sleep(0.01)            continue        line =line.strip().decode('utf8')        printline        forkeyword inkeywordMap:            ifline.find(keyword) > -1:                winsound.PlaySound(keywordMap[keyword],                                    winsound.SND_NODEFAULT)        #time.sleep(0.01)    return0  if__name__ =='__main__':    sys.exit(main()) | 
Python监控日志程序的更多相关文章
- Python监控日志程序-乾颐堂
		一个简易的日志监控的脚本,功能如下:1.windows环境2.当匹配日志关键字时会发出声音,匹配的关键字不同,播放的声音不同3.能做到实时响应 注意:是在win环境下哦 直接上代码吧 1 2 3 4 ... 
- python os.startfile python实现双击运行程序 python监控windows程序 监控进程不在时重新启动
		用python监控您的window服务 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://world77.blog.51cto.co ... 
- Python监控日志中经常访问的ip
		一.需求:每分钟检查一次日志文件,如果这一分钟内同一个ip请求次数超过200次,加入黑名单 1.日志文件中,每一行的格式为:XXX.XXX.XXX.XXX - - [04/Jun/2017:05:25 ... 
- python 监控日志
		#需求: #1.每分钟监控服务器日志,ip请求超过200次的,加入黑名单 #1.读文件,获取到每行的内容 open readlines # 178.210.90.90 - - [04/Jun/2017 ... 
- 使用Metrics监控应用程序的性能
		在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ... 
- timeSeries db之:使用Metrics监控应用程序的性能 (zz)
		在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ... 
- 远程监控 – 应用程序运行状况测量 CSF 博客
		在远程监控基础知识和故障排除中,我们探讨了 Windows Azure 平台提供的基础指标.信息源.工具和脚本,介绍了有关监控和应用程序运行状况的基本原则.我们演示了如何利用这些基本原则对在 Wind ... 
- python实现FTP程序
		python实现FTP程序 程序源码 上传功能 查看文件 cd功能 创建目录 程序源码 目录结构 服务端 主程序 import optparse import socketserver import ... 
- Metrics.NET step by step使用Metrics监控应用程序的性能
		使用Metrics监控应用程序的性能 在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或 ... 
随机推荐
- [LeetCode OJ]-Climbing Stairs
			You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ... 
- 自己制作精美的App Store 软件截屏
			当用户搜索到App的时候,一般都会先看截图,如果截图效果不好,可能用户就不会下载. 不想自己辛苦写的认为还不错的软件,因为截图的原因,而降低了很多下载量吧. 轻轻松松做出这样高大上的截屏效果来. Sc ... 
- gulp Tips
			npm配置相关属性用于寻找全局安装的module npm install --save-dev 本地安装 在gulp.src()里指定取用文件的语法是,在[ ]中以字符串形式填写文件名,用&qu ... 
- Ubuntu You don't have permission to access解决方案!
			最近对Linux越来越喜欢了,就直接安装了一个Ubuntu,配制好LAMP后,在做小项目时,出现了下面的问题:Ubuntu You don't have permission to access ** ... 
- dictionary(字典)
			dictionary(字典): 字典对象 字典是一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 1. dic={"n ... 
- Python学习 - 编写一个简单的web框架(二)
			在上一篇日志中已经讨论和实现了根据url执行相应应用,在我阅读了bottle.py官方文档后,按照bottle的设计重写一遍,主要借鉴大牛们的设计思想. 一个bottle.py的简单实例 来看看bot ... 
- 《学习OpenCV》 第四章 习题六
			实现的是一个图像标签编辑器,其间遇到了些问题还未解决或者可能解决方法上不是最优,若你有更好的思路可以提供给我,大恩不言谢啦!!☆⌒(*^-゜)v. #include "stdafx.h&qu ... 
- 2013 年 —— Facebook 在开源方面的工作介绍
			自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句,开源就已经是我们工程哲学中的一个重要的部分. 现在,我们使用.维护并为大量的主要项目做出了贡献——涉及多种领域如 ... 
- Node.js工具模块
			在Node.js的模块库中提供实用的模块数量. 这些模块都是很常见的,并同时开发基于任何节点的应用程序频繁使用. S.N. 模块的名称和说明 1 OS Module提供基本的操作系统相关的实用功能 2 ... 
- 巧用powerpoint制作符合期刊要求的复合图
