Python实现过滤单个Android程序日志脚本(共2篇)由网友“答非所问”投稿提供,下面是小编帮大家整理后的Python实现过滤单个Android程序日志脚本,希望对大家有所帮助。
篇1:Python实现过滤单个Android程序日志脚本
这篇文章主要介绍了Python实现过滤单个Android程序日志脚本分享,本文讲解了原理、实现代码、使用方法、最新代码等内容,需要的朋友可以参考下
在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据,Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于是自己写了一个python的脚本来通过包名来过滤某一程序的日志。
原理
通过包名得到对应的进程ID(可能多个),然后使用adb logcat 过滤进程ID即可得到对应程序的日志。
源码
代码如下:
#!/usr/bin/env python
#coding:utf-8
#This script. is aimed to grep logs by application(User should input a packageName and then we look up for the process ids then separate logs by process ids).
import os
import sys
packageName=str(sys.argv[1])
command = “adb shell ps | grep %s | awk ‘{print $2}‘”%(packageName)
p = os.popen(command)
##for some applications,there are multiple processes,so we should get all the process id
pid = p.readline.strip()
filters = pid
while(pid != “”):
pid = p.readline().strip()
if (pid != ‘‘):
filters = filters + “|” + pid
#print ‘command = %s;filters=%s‘%(command, filters)
if (filters != ‘‘) :
cmd = ‘adb logcat | grep --color=always -E “%s” ‘%(filters)
os.system(cmd)
使用方法
代码如下:
python logcatPkg.py com.mx.browser
最新代码
代码如下:
#!/usr/bin/env python
#coding:utf-8
#This script. is aimed to grep logs by application(User should input a packageName and then we look up for the process ids then separate logs by process ids).
import os
import sys
packageName=str(sys.argv[1])
command = “adb shell ps | grep %s | awk ‘{print $2}‘”%(packageName)
p = os.popen(command)
##for some applications,there are multiple processes,so we should get all the process id
pid = p.readline().strip()
filters = pid
while(pid != “”):
pid = p.readline().strip()
if (pid != ‘‘):
filters = filters + “|” + pid
#print ‘command = %s;filters=%s‘%(command, filters)
if (filters != ‘‘) :
cmd = ‘adb logcat | grep --color=always -E “%s” ‘%(filters)
os.system(cmd)
不足
当脚本执行后,Android程序如果关闭或者重新启动,导致进程ID变化,无法自动继续输出日志,只能再次执行此脚本,
篇2:Python实现监控程序执行时间并将其写入日志的方法
作者:mingaixin 字体:[增加 减小] 类型:转载
这篇文章主要介绍了Python实现监控程序执行时间并将其写入日志的方法,实例分析了Python日志操作的相关技巧,需要的朋友可以参考下
本文实例讲述了Python实现监控程序执行时间并将其写入日志的方法,分享给大家供大家参考。具体实现方法如下:
# /usr/bin/python# -*- coding:utf-8 -*-from time import timedef logged(when): def log(f,*args,**kargs): print ‘‘‘ called: functions:%s args: %r kargs: %r ‘‘‘ % (f,args,kargs) def pre_logged(f): def wrapper(*args,**kargs):log(f,*args,**kargs)return f(*args,**kargs) return wrapper def post_logged(f): def wrapper(*args,**kargs):now = time()try: return f(*args,**kargs)finally: log(f,*args,**kargs) print “time delta:%s” % (time()-now) return wrapper try: return {“pre”:pre_logged,“post”:post_logged}[when] except KeyError,e: raise ValueError(e),‘must be “pre” or “post”‘@logged(“post”)def hello(name): print “hello,”,namehello(“world!”)‘‘‘等同于: hello = logged(“post”)(hello(“world!”))‘‘‘
希望本文所述对大家的Python程序设计有所帮助,
★ html学习总结
★ 安卓开发心得实例
【Python实现过滤单个Android程序日志脚本(共2篇)】相关文章:
确保PHP应用程序的安全[2]WEB安全2022-04-30
系统测试工程师工作的职责2023-11-26
手机厂测试岗位职责2022-04-29
公司招工简章2023-07-20
Shell编程之正则表达式详解2022-05-04
跟踪标记全攻略数据库教程2022-09-26
网数据库的代码集合2022-12-27
Python标准库urllib2的一些使用细节总结2023-03-20
提取数字――字符串、正则面试题2022-08-17
python开发的小球完全弹性碰撞游戏代码2022-12-05