Python 過濾錯誤log并導出的實例
更新時間:2019年12月26日 14:47:48 作者:小喜_ww
今天小編就為大家分享一篇Python 過濾錯誤log并導出的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
前言:
測試過程中獲取App相關log后,如何快速找出crash的部分,并導出到新的文件呢?
感興趣的話,繼續(xù)往下看吧~
思路:遍歷多個日志文件,找出含有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并導出的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解超星腳本出現(xiàn)亂碼問題的解決方法(Python)
超星助手是一款為孩子們提供學習的軟件,支持用戶們后臺運行多開等,還可以簽到,查題等多功能,下面這篇文章主要給大家介紹了關于超星腳本出現(xiàn)亂碼問題的解決方法,需要的朋友可以參考下2022-05-05
Conda中環(huán)境遷移到另一個服務器的實現(xiàn)
本文主要介紹了Conda中的環(huán)境遷移到另一個服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
Python Web框架Django的模型和數(shù)據庫遷移詳解
Django 是一個極其強大的 Python Web 框架,它提供了許多工具和特性,能夠幫助我們更快速、更便捷地構建 Web 應用,在本文中,我們將會關注 Django 中的模型(Models)和數(shù)據庫遷移(Database Migrations)這兩個核心概念,需要的朋友可以參考下2023-08-08

