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中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
python处理按钮消息的实例详解
Jul 11 Python
Python优先队列实现方法示例
Sep 21 Python
python 编码规范整理
May 05 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
python实现串口通信的示例代码
Feb 10 Python
python 实现PIL模块在图片画线写字
May 16 Python
python Yaml、Json、Dict之间的转化
Oct 19 Python
python基于tkinter制作无损音乐下载工具
Mar 29 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
将HTML自动转为JS代码
2006/06/26 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
Python中property属性实例解析
2018/02/10 Python
python 输出上个月的月末日期实例
2018/04/11 Python
基于FME使用Python过程图解
2020/05/13 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
车间主管岗位职责
2013/11/14 职场文书
自我评价的范文
2014/02/02 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
2016寒假假期总结
2015/10/10 职场文书
关于Python使用turtle库画任意图的问题
2022/04/01 Python
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python