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中字典的基本知识初步介绍
May 21 Python
用Python设计一个经典小游戏
May 15 Python
浅谈Python中eval的强大与危害
Mar 13 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
python模块导入的方法
Oct 24 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
对tensorflow中cifar-10文档的Read操作详解
Feb 10 Python
Python json模块与jsonpath模块区别详解
Mar 05 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
python 中 .py文件 转 .pyd文件的操作
Mar 04 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中iconv函数使用方法
2008/05/24 PHP
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
javascript基本语法
2016/05/31 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
python方向键控制上下左右代码
2018/01/20 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
财务会计专业个人求职信范本
2014/01/08 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
开业主持词
2014/03/21 职场文书
医学专业自荐信
2014/06/14 职场文书
干部作风建设工作总结
2014/10/29 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
中学生运动会广播稿
2015/08/19 职场文书
对讲机的最大通讯距离是多少
2022/02/18 无线电
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python