python监控windows日志_Python 监控日志的简单示例

这篇文章主要为大家详细介绍了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笔记的其他信息。

关键词:日志

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言程序设计整人,C语言进程间通信练习作品 - 整人小程序之剪切板

主程序界面:程序介绍:如果对方执行了主程序生成的【server.exe】,【server.exe】会自复制、自启动、自删除(仿木马)。【server.exe】会后台每秒/次检测对方的剪切板,一有文本数据则在尾部加入【附加内容】,达到&#x…

python安装lap_一个python脚本解决安装mq的依赖问题

import tarfileimport sys,osfrom _utils.patrol2 import run_cmdimport zipfiledef get_version(filename):cmd"rpm -U {}".format(filename)code,resrun_cmd(cmd,cwdpkg_unzip_path)if is already installed in res or 已安装 in res:return Trueelse:return False…

c语言如何关闭线程,如何用C语言实现多线程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Windows操作系统,C语言实现多线程:#include #include DWORD APIENTRY ThreadOne ( LPVOID threadArg ){printf ( "线程开始啦,参数是:%s\n" , (char *)threadArg );return …

linux8安装bbr_CentOS 7安装4.9内核开启BBR

最新的4.9内核合并了Google研发的BBR TCP阻塞算法,使用效果大概可以跟锐速相比。待4.9正式版发出前,CentOS并没有4.9的RPM包。那么我们可以手动编译内核,安装并启用。注意:内存小于512M的机器在编译内核bzImage的时候会出现错误。…

Android怎么自定义充电铃声,安卓手机怎么自定义充电提示音_自定义安卓充电提示音教程_3DM手游...

安卓手机其实也是可以设置充电提示音的,我们只需要下载一个第三方软件,然后在APP中进行一些简单的设置,就可以实现自定义更换手机充电提示音了。安卓手机怎么自定义充电提示音?下面小编就为大家带来了详细的教程,希望能…

rfc方式的集成 sap_转载: 与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别

se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。bapi是sap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,…

android logcat 根据包名过滤,adb logcat通过包名过滤(dos命令find后跟变量)

过滤条件:该app在运行实现原理:1、获取该app运行时的pid2、通过find命令,过滤pid的日志,就是该包的运行日志实现:1、在同一目录建立一文件:getpid.batecho offadb shell "ps | grep com.example.testp…

流浪的python博客园_python学习心得第一章

初始python1什么是程序计算机程序是一组执行某种动作的的指令。和那些电路、芯片、显卡、硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西。程序就是一系列告诉没有知觉的硬件该做什么事情的命令。软件就是这些程序的集合…

adb server is out of date. linux,adb server is out of date. killing完美解决

原本是想跑monkey测试的,可使用adb命令时提示:adb server is out of date. killing...出现这个问题的原因是:adb使用的端口5037被占用了。下面我们说下如何找到是哪个程序占用了这个端口,顺便看看cmd里面的一些类似linux的进程操作…

react 怎么获取表格_react学习之js-xlsx导入和导出excel表格

前记:最近真的挺忙的,一件事接着一件,都忘了我的React项目,尽管这是一个没写概率没写离散的夜晚,我决定还是先做做我的React好了,进入正题项目需求,需要导入和导出表单,发现前端已经…

android 最新的框架搭建,Android之Mvp模式框架搭建

前言在做Android开发时,我们通常为了更合理,更高效,优质的开发项目,并不是直接上来就开始开发功能,而是先搭建好自己的一个开发框架,一个好的开发框架,通常会让我们事倍功半,它就好比我们去建造一个房子,如果你的地基打的越深,越牢固,那么就可以建造出很高很大的房子.在搭建一个…

curl在android服务器上编译,Android curl的上载编译和使用

mm执行编译:PLATFORM_VERSION_CODENAMERELPLATFORM_VERSION4.0.3TARGET_PRODUCTfullTARGET_BUILD_VARIANTengTARGET_BUILD_TYPEreleaseTARGET_BUILD_APPSTARGET_ARCHarmTARGET_ARCH_VARIANTarmv7-aHOST_ARCHx86HOST_OSlinuxHOST_BUILD_TYPEreleaseBUILD_IDIML74Kmak…

英特尔nuc能代替主机吗_python编程,热度为什么越来越高,python能代替JAVA吗?...

大家好,我是你们的软件主讲老师宁彤天,python编程是这几年刚火起来了,这可能是这几年人工智能的普及吧,现在是人工智能非python,没有第二,当能其它语言也能实现人工智能,但python的代码量能用最…

python 网页自动化框架_python+selenium自动化框架

项目以前的UI自动化大概是这样分层的1.Common功能层:一些经常被调用的基本常用操作,用来完成某项具体的功能,与具体的业务无关。比如常用的封装:--将元素定位方法重新封装--封装上下左右滑动 eg: swipe(directdown,count1)--pinch…

小程序监听android返回键,如何监听小程序返回按钮事件?

写在前面为了能及时的将自己踩到的前端坑(包括ionic,angular,react,ReactNative,小程序,APICloud)分享给大家,以后会逐渐将文章转移到微信公众号:前端e家(front_e_family)。可直接扫码关注,公众号会不定期更新新文章,分享踩坑笔记…

mix2s 升级android p,小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗?...

原标题:小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗?今天上午,小米推送了小米MIX2S的稳定版更新,版本号为MIUI V10.0.4.0,体积为2GB,这一次更新将系统底层更新至了Android P,不…

如何用python做一个会聊天的女朋友_520来啦~教你用Python给自己造了一个女朋友!...

520这一天,也是网络情人节。就在那天,如果没有女朋友的自己,如何假装自己是有朋友的!如何在朋友圈“秀恩爱。女生版:image很有感觉有木有~~男生版:imageimage其实这些都是小意思啦~~这些都是假装自己有女朋…

鸿蒙系统定位低端市场,明年年初见!鸿蒙系统会先定位中低端,后续全面升级...

惊变20年鸿蒙系统手机会先定位中低端惊变20年上个月的华为H..DC2020开发者大会上,余承东对外公布将在明年开发出搭载鸿蒙系统的手机,并且采用EMUI11的华为手机可以拥有优先享受升级鸿蒙的待遇,手持华为手机的用户都颇为期待。惊变20年根据最新…

jsfor循环终止_js 终止 forEach 循环

wp8 入门到精通 MultiMsgPromptList arraymsg new List(); List ArrayNotifyInfo ...转:Top 10 Algorithms for Coding InterviewThe following are top 10 algorithms related concepts in coding interview. I will try to illustrate t ...Unity游戏开发——自动…

python求出五位数的回文数_python之递归

#codingutf-8#题目:打印出如下图案(菱形)nu 1 # 开始值k 2 # 变量值while nu > 0:print(int((7 - nu) / 2) * * * nu)nu kif nu 7:k -k#题目:有一分数序列:2/1 ,3/2 ,5/3 ,8/5 ,1…