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双向链表实现实例代码
Nov 21 Python
Saltstack快速入门简单汇总
Mar 01 Python
Python中生成Epoch的方法
Apr 26 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
python如何使用unittest测试接口
Apr 04 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 Python
python 录制系统声音的示例
Dec 21 Python
python简单验证码识别的实现过程
Jun 20 Python
Pygame如何使用精灵和碰撞检测
Nov 17 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
php UBB 解析实现代码
2011/11/27 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
十大热门的JavaScript框架和库
2017/03/21 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
python logging.info在终端没输出的解决
2020/05/12 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
公司财务自我评价分享
2013/12/17 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
美丽人生观后感
2015/06/03 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
python - asyncio异步编程
2021/04/06 Python
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js