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

 更新时间:2019年12月26日 14:47:48   作者:小喜_ww  
今天小编就为大家分享一篇Python 过滤错误log并导出的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

前言:

测试过程中获取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 Requests访问网络更方便

    Python Requests访问网络更方便

    这篇文章主要介绍了使用Python Requests访问网络,Python Requests 是一个非常强大的 HTTP 客户端库,用于发送 HTTP 请求,获取响应等操作,通过这个库,你可以轻松地与 Web 服务进行交互,实现各种网络请求
    2024-01-01
  • python 剪切移动文件的实现代码

    python 剪切移动文件的实现代码

    移动复制文件通过os.rename方法,先进行文件是否存在判断,如需更加复杂相同文件判断可以根据文件属性进行判断,此处只使用同名检查,并删除已存在文件,来实现覆盖。这篇文章主要介绍了python 剪切移动文件的实现代码,需要的朋友可以参考下
    2018-08-08
  • Python中uuid模块生成唯一标识符的方法详解

    Python中uuid模块生成唯一标识符的方法详解

    这篇文章主要给大家介绍了关于Python中uuid模块生成唯一标识符的相关资料,uuid库是Python标准库中的一个功能强大的库,可以用于生成全局唯一标识符(UUID),文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Python趣味编程实现手绘风视频示例

    Python趣味编程实现手绘风视频示例

    本文与计算机视觉相关,使用Python将图片由自然风转化为手绘风,期间未对图片进行任何预处理、后处理;代码中只借助了两个常见库,核心计算由Numpy负责 ,Pillow 负责图片读写
    2021-10-10
  • python中无法导入本地安装好的第三方库问题

    python中无法导入本地安装好的第三方库问题

    这篇文章主要介绍了python中无法导入本地安装好的第三方库问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python 处理数据库事务的操作方法

    Python 处理数据库事务的操作方法

    在Python中,处理数据库事务通常涉及使用特定的数据库驱动如sqlite3、PyMySQL和psycopg2等,这些库提供事务管理功能,允许开发者手动控制事务的提交和回滚,本文给大家介绍Python如何处理数据库事务,感兴趣的朋友一起看看吧
    2024-10-10
  • 基于Python实现一个春节倒计时脚本

    基于Python实现一个春节倒计时脚本

    春节即将到来,本文将为大家介绍一个通过Python实现的春节倒计时脚本,文中的示例代码简洁易懂,感兴趣的小伙伴可以自己动手尝试一下
    2022-01-01
  • python批量修改文件名的示例

    python批量修改文件名的示例

    这篇文章主要介绍了python批量修改文件名的示例,帮助大家更好的使用python处理文件,感兴趣的朋友可以了解下
    2020-09-09
  • Python数据分析之使用scikit-learn构建模型

    Python数据分析之使用scikit-learn构建模型

    这篇文章主要介绍了Python数据分析之使用scikit-learn构建模型,sklearn提供了model_selection模型选择模块、preprocessing数据预处理模块、decompisition特征分解模块,更多相关内容需要朋友可以参考下面文章内容
    2022-08-08
  • python如何获得list或numpy数组中最大元素对应的索引

    python如何获得list或numpy数组中最大元素对应的索引

    这篇文章主要介绍了python如何获得list或numpy数组中最大元素对应的索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论