≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > Python

Python 监控日志的简单示例

人气:574 时间:2018-10-18

这篇文章主要为大家详细介绍了Python 监控日志的简单示例,具有一定的参考价值,可以用来参考一下。

对python这个高级语言感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

一个简易的日志监控的脚本,功能如下:

1.windows环境

2.当匹配日志关键字时会发出声音,匹配的关键字不同,播放的声音不同

3.能做到实时响应

注意:是在win环境下哦

 

直接上代码吧


# @param Python监控日志程序
# @author 四海网|q1010.com 

#!/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
  
"""
  
import sys
import os
import getopt
import subprocess
import time
import codecs
import winsound
  
ABSPATH = os.path.dirname(os.path.abspath(__file__))
MONITERCONF = 'moniter_keyword.txt' #utf8 file
  
def main():
    try:
        opts, args = getopt.getopt(sys.argv[1:], 'hf:')
    except getopt.GetoptError, err:
        print str(err)
        print __doc__
        return 1
  
    path = ''
    for k, v in opts:
        if k == '-f':
            path = v
        elif k == '-h':
            print __doc__
            return 0
  
    if not (path and os.path.exists(path)):
        print 'Invalid path: %s' % path 
        print __doc__
        return 2
  
    #命令行元组
    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()
    for line in lines:
        line = line.strip()
        if not line:
            continue
        keyword, wav = line.strip().split(':')
        keywordMap[keyword] = wav
  
    while True:
        line = output.stdout.readline()
        #process code,得到输出信息后的处理代码
        if not line:
            time.sleep(0.01)
            continue
        line = line.strip().decode('utf8')
        print line
        for keyword in keywordMap:
            if line.find(keyword) > -1:
                winsound.PlaySound(keywordMap[keyword], 
                                   winsound.SND_NODEFAULT)
        #time.sleep(0.01)
    return 0
  
if __name__ == '__main__':
    sys.exit(main())

# End www_512pic_com

本文来自:http://www.q1010.com/181/2280-0.html

注:关于Python 监控日志的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:日志

您可能感兴趣的文章

  • SQL Server 事务日志备份文件过大问题分析
  • SQL Server 清空日志文件的简单示例
  • SQL Server 截断日志示例
  • SQL Server事务日志处理详解
  • MySql 日志查看与设置的简单示例
  • SQL Server 事务日志的收缩和截断入门实例
  • sql server实现热备用可用性中日志传送以及同步复制的方式
  • php 写入日志函数的简单示例
上一篇:python 多进程通信模块入门实例
下一篇:Python 与 Javascript 比较示例
热门文章
  • Python 处理Cookie的菜鸟教程(一)Cookie库
  • python之pandas取dataframe特定行列的简单示例
  • Python解决json.dumps错误::‘utf8’ codec can‘t decode byte
  • Python通过pythony连接Hive执行Hql的脚本
  • Python 三种方法删除列表中重复元素的简单示例
  • python爬虫代码示例
  • Python 中英文标点转换示例
  • Python 不得不知的开源项目解析
  • Python urlencode编码和url拼接实现方法
  • python按中文拆分中英文混合字符串的简单示例
  • 最新文章
    • Python利用numpy三层神经网络的简单示例
    • pygame可视化幸运大转盘的简单示例
    • Python爬虫之爬取二手房信息的简单示例
    • Python之time库的简单示例
    • OpenCV灰度、高斯模糊、边缘检测的简单示例
    • Python安装Bs4及使用的简单示例
    • django自定义manage.py管理命令的简单示例
    • Python之matplotlib 向任意位置添加一个子图(axes)的简单示例
    • Python图像标签标注软件labelme分析的简单示例
    • python调用摄像头并拍照发邮箱的简单示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。