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

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

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

1.windows环境

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

3.能做到实时响应

注意:是在win环境下哦

直接上代码吧

# @param Python监控日志程序

# @author 512笔记|512PiC.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

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

关键词:日志

python监控windows日志_Python 监控日志的简单示例相关推荐

  1. python文本处理实例_Python 文件处理的简单示例

    这篇文章主要为大家详细介绍了Python 文件处理的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 相关的AP ...

  2. python读写文件实例_python读写文件的简单示例

    这篇文章主要为大家详细介绍了python读写文件的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 首先看一个例子: # 来自www.512 ...

  3. python ftp上传_Python FTP传输的简单示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然 ...

  4. 怎样用python计算π的值_Python 计算 π 值的简单示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! π是一个无数人追随的真正的神奇数字.我不是很清楚一个永远重复的无理数的迷人之处.在我看来,我乐于计 ...

  5. python批量处理图像_python批量图片处理简单示例

    本文实例讲述了python批量图片处理.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding:utf-8 import os from PIL import Image ...

  6. Python 在windows上跑图色脚本?简单又好玩,自己编写一个自动化脚本

    Python 在windows上跑图色脚本?简单又好玩,自己编写一个自动化脚本 大家好 我又来开新坑了,如图这次准备用python弄个简单脚本(根据图色判断进行键鼠操作) 1.老规矩 先安排运行环境 ...

  7. python使用requests库下载单张图片的简单示例

    python使用requests库下载单张图片的简单示例 简要说明 代码示例 简要说明 下载图片的核心代码如下: res = requests.get(url=img_url, headers=hea ...

  8. Python学习教程(Python学习路线):Python3之递归函数简单示例

    Python学习教程(Python学习路线):Python3之递归函数简单示例 概述 递归函数即直接或间接调用自身的函数,且递归过程中必须有一个明确的递归结束条件,称为递归出口.递归极其强大一点就是能 ...

  9. python中英文字符怎么区分-python 利用utf-8编码判断中英文字符的简单示例

    这篇文章主要为大家详细介绍了python 利用utf-8编码判断中英文字符的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 利用utf-8编码判断中英文字符的简单示例的小伙伴,下 ...

最新文章

  1. UI 积累之select section
  2. 基本类型变量和引用型类型变量
  3. C# 复制 粘贴 剪切 撤销
  4. java无ide编译_[转]无IDE时编译和运行Java
  5. 基于.net core 3 和 Orleans 3 的 开发框架:Phenix Framework 7
  6. element时间选择器限制到时分秒_element-ui 日期时间选择器限制日期以及时间范围...
  7. 高人,不断地在营销, 有收入就是高人
  8. SQL Server 内存中OLTP内部机制概述(二)
  9. Hive环境搭建启动报错
  10. Bartender条码打印软件,提示30天以后该软件将会过期
  11. 微信小程序图标变形、微信小程序放大镜图标、图片设置为圆形——微信小程序(1)
  12. 2021-09-13 QCC3003 回连
  13. 粒子群优化算法python实现
  14. GB2312汉字拼音对照表
  15. 耗时两天,Html实现小米官网
  16. java代码实现身份证第18位的计算和验证身份证号码是否是真实有效.
  17. 颈椎牵引器的介绍-颈托护颈
  18. UE5 官方案例Lyra 全特性详解 8.如何用配置表初始化角色数据
  19. 物联网无线传感器复习
  20. Windows 8/Server 2012/Office 2013 所有版本下载

热门文章

  1. 局部变量竟然比全局变量快 5 倍?
  2. 最详细的 IDEA调试教程
  3. 聊一聊开发常用小工具
  4. Oracle备份还原
  5. Oracle笔记:用户、权限及exp/imp数据
  6. 英语笔记:词组句子:0906
  7. zoj 1088 System Overload
  8. HTML网页结构化框架、meta标签和语义化标签
  9. 配置phoenix连接hbase_使用 Phoenix-4.11.0连接 Hbase 集群 ,并使用 JDBC 查询测试
  10. Hibernate——(3)主键生成策略持久化类的三种状态