Python 过滤错误log并导出的实例


Posted in Python onDecember 26, 2019

前言:

测试过程中获取App相关log后,如何快速找出crash的部分,并导出到新的文件呢?

感兴趣的话,继续往下看吧~

思路:遍历多个日志文件,找出含有Error和Crash的日志,并把该行日志输出到另一个文件result.txt中。

def find_log(path):
  file_list = os.listdir(path)
  for file in file_list:
    file_name = file
    log_path = os.path.join(path, file)
    with open(log_path, 'rb') as f:
      lines = f.readlines()
      index = 0
      for line in lines:
        index += 1
        if 'Crash' in line.decode("utf8", "ignore") or 'Error' in line.decode("utf8", "ignore"):
          ss = re.findall(r'(.*Crash.*)', line.decode("utf8", "ignore"))
          zz = re.findall(r'(.*Error.*)', line.decode("utf8", "ignore"))
          if len(zz) > 0:
            with open('result.txt', 'a') as ff:
              ff.write('文件名:'+file_name + ' 第' + str(index) + '行: ' + zz[0] + '\n')
          elif len(ss) > 0:
            with open('result.txt', 'a') as ff:
              ff.write('文件名:'+file_name + ' 第' + str(index) + '行: ' + ss[0] + '\n')
          else:
            break

result.txt文件展示如下:

文件名:amstart.log 第611行: 01-12 11:10:33.534 E/FirebaseCrash(14844): Failed waiting for crash api to load.
文件名:amstart.log 第612行: 01-12 11:10:33.534 E/FirebaseCrash(14844): java.lang.InterruptedException
文件名:amstart.log 第613行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1013)
文件名:amstart.log 第614行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1302)
文件名:amstart.log 第615行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:249)
文件名:amstart.log 第616行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at com.google.firebase.crash.FirebaseCrash.zzbsk(Unknown Source)
文件名:amstart.log 第617行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at com.google.firebase.crash.FirebaseCrash.zza(Unknown Source)
文件名:amstart.log 第618行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at com.google.firebase.crash.zza.run(Unknown Source)
文件名:amstart.log 第619行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
文件名:amstart.log 第620行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
文件名:amstart.log 第621行: 01-12 11:10:33.534 E/FirebaseCrash(14844):  at java.lang.Thread.run(Thread.java:818)
文件名:uninstall.log 第213行: 01-12 11:16:33.382 W/ActivityManager( 1068): Error in app com.baidu.mtc.new_monkey running instrumentation ComponentInfo{com.baidu.mtc.new_monkey.test/android.support.test.runner.AndroidJUnitRunner}:
文件名:uninstall.log 第219行: 01-12 11:16:33.383 W/ActivityManager( 1068): Error shutting down UiAutomationConnection
文件名:logcat.log 第31653行: 01-12 11:13:48.556 E/Gn_Assist(17385): GnVoiceService dispatchRecoError className is empty
文件名:logcat.log 第31654行: 01-12 11:13:48.556 E/Gn_Assist(17385): FocusException getErrorMsg ERROR_NO_MATCH
文件名:install.log 第26514行: 01-12 11:09:40.641 W/System.err(14314):  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

以上这篇Python 过滤错误log并导出的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python选择排序算法实例总结
Jul 01 Python
在Django的上下文中设置变量的方法
Jul 20 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
Python列表(List)知识点总结
Feb 18 Python
Python Django给admin添加Action的方法实例详解
Apr 29 Python
numpy下的flatten()函数用法详解
May 27 Python
django框架forms组件用法实例详解
Dec 10 Python
Mac PyCharm中的.gitignore 安装设置教程
Apr 16 Python
在django admin中配置搜索域是一个外键时的处理方法
May 20 Python
python使用多线程+socket实现端口扫描
May 28 Python
python实现语音常用度量方法的代码详解
May 25 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 Python
python3 pathlib库Path类方法总结
Dec 26 #Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 #Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 #Python
基于h5py的使用及数据封装代码
Dec 26 #Python
python深copy和浅copy区别对比解析
Dec 26 #Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 #Python
torch 中各种图像格式转换的实现方法
Dec 26 #Python
You might like
php中的三元运算符使用说明
2011/07/03 PHP
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
JS求平均值的小例子
2013/11/29 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
EsLint入门学习教程
2017/02/17 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
python实现比较文件内容异同
2018/06/22 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
法国综合购物网站:RueDuCommerce
2016/09/12 全球购物
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
市三好学生主要事迹
2014/01/28 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫