久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

監控python logcat關鍵字

監控python logcat關鍵字

相關學習推薦:python教程

本文主要介紹使用Python調用ADB命令實現實時監控logcat關鍵字的功能

采用多進程,可同時監控多個設備,監控多個關鍵字。

需要配置ADB環境,具體配置就不多介紹,隨便搜一下一大把,直接上代碼

通過一個全局變量控制開啟和關閉監控功能, INSTRUCTION 用于根據指令獲取對應的方法名

import os, threading, datetime  # 獲取當前文件所在目錄,拼接出LOG路徑 LOG_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "log")  # 配置需要監控的關鍵字 KEYWORDS = ["ANR ", "NullPointerException", "CRASH", "Force Closed"]  # 控制開啟和關閉 STOP_LOGCAT = True  # 指令對應具體操作 INSTRUCTION = {                "1": "filter_keywords",                "2": "stop_filter_keywords",                "3": "exit"                }   def filter_keywords():     global STOP_LOGCAT     STOP_LOGCAT = False     devices = get_devices()  # 先獲取所有連接的設備     print("開始監控關鍵字")     for device in devices:         t = threading.Thread(target=filter_keyword, args=(device,))         t.start()   def stop_filter_keywords():     global STOP_LOGCAT     if STOP_LOGCAT:         print("沒有正在執行的任務n")     else:         STOP_LOGCAT = True         print("正在停止關鍵字監控n")

監控關鍵字主函數,

def filter_keyword(device):     print("設備%s關鍵字監控已開啟" % str(device))     sub = logcat(device)     with sub:         for line in sub.stdout: # 子進程會持續輸出日志,對子進程對象.stdout進行循環讀取             for key in KEYWORDS:                 if line.decode("utf-8").find(key) != -1: # stdout輸出為字節類型,需要轉碼                     message = "設備:%s 檢測到:%sn" % (device, key)# 設備:192.168.56.104:5555 檢測到:ANR                     path = get_log_path("bugreport") # 根據時間創建文件夾                     bugreport(device, path)# 拉取完整日志壓縮包到創建的文件夾內                     send_message(message) # 這里可以換成自己要做的事情,比如發送郵件或釘釘通知             if STOP_LOGCAT:                 break         print("設備%s關鍵字監控已停止" % str(device))         sub.kill()

通過 subprocess.Popen 創建進程執行命令,持續輸出日志到 stdout

# logcat持續輸出日志 def logcat(device):     command = "adb -s " + str(device) + " logcat -v time"     sub = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)     return sub

獲取所有已連接設備的方法,執行"adb devices"后輸出如下,通過對命令執行拿到的字符串切割獲取所有設備號以列表方式存儲

監控python logcat關鍵字

# 獲取所有device def get_devices():     command = "adb devices"     res = os.popen(command).read()     devices = []     res = res.split("n")     for i in res:         if i.endswith("device"):             devices.append(i.split('t')[0])     return devices
# 打包下載所有日志到當前目錄 def bugreport(device, path):     os.chdir(path)# bugreport會下載日志到當前文件夾,所以需要先切換到已經創建的目錄     command = "adb -s " + str(device) + " bugreport"     subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=-1)     print("設備:%s 日志路徑:%s" % (str(device), path))

以 當前文件所在目錄/年/月/日 格式獲取日志路徑,如果不存在自動創建

# 獲取日志存放路徑,如果不存在則按日期創建 def get_log_path(tag):     year = datetime.datetime.now().strftime('%Y')     month = datetime.datetime.now().strftime('%m')     day = datetime.datetime.now().strftime('%d')     path = os.path.join(LOG_PATH, tag, year, month, day)     if not os.path.exists(path):         os.makedirs(path)     return path

main函數,循環接收指令,根據接收的指令拿到方法名,并通過eval()方法執行。

def main():     while True:         print("-" * 100)         print("1:開啟關鍵字監控n2:停止關鍵字監控n3:退出")         print("-" * 100)         instruction = str(input("nn請輸入要進行的操作號:n"))         print("-" * 100)         while instruction not in INSTRUCTION.keys():             instruction = str(input("nn輸入無效,請重新輸入:"))         if int(instruction) == 9:             exit()  # TODO 退出前需要判斷是否有正在執行的monkey任務和關鍵字監控任務         eval(INSTRUCTION[str(instruction)] + "()")   if __name__ == '__main__':     main()

代碼分段之后有點凌亂,看不明白可以把代碼復制到一個文件里捋一下就明白了

想了解

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
在线观看视频免费一区二区三区| 精品日产乱码久久久久久仙踪林| 九九久久国产| 九九99久久精品在免费线bt| 高清av一区| 日本成人在线视频网站| 91亚洲精品在看在线观看高清| 日韩一区精品视频| 蜜臀av亚洲一区中文字幕| 成人一区不卡| 欧美日韩网址| 色婷婷综合网| 91高清一区| 国产精品宾馆| 亚洲精品动态| 国产一区成人| 尤物在线精品| 日韩影院在线观看| 国产美女视频一区二区| 国产成人精品一区二区三区免费| 麻豆精品在线播放| 伊人久久国产| 国产一区二区三区亚洲综合| 国产v日韩v欧美v| 午夜一级久久| 蜜桃久久av| 国产精品久久久久77777丨| 国际精品欧美精品| 欧美在线亚洲综合一区| 在线精品视频在线观看高清| 国产午夜精品一区二区三区欧美| 一本一道久久a久久| 中文一区一区三区免费在线观 | 亚洲成人免费| 国产精品久久久久久久免费观看| 久久av中文| av高清不卡| 蜜臀av性久久久久蜜臀aⅴ四虎| 夜夜嗨网站十八久久| 欧美美女一区| 一区二区国产在线观看| 日本亚洲最大的色成网站www| 国产欧美在线| 久久aⅴ国产紧身牛仔裤| 亚洲狼人精品一区二区三区| 国产亚洲精aa在线看| 久久精品国产99久久| 国产欧美一区二区精品久久久| 久久精品天堂| 日本99精品| 亚洲视频综合| 美腿丝袜亚洲一区| 中日韩男男gay无套| 欧美xxxx性| 亚洲麻豆一区| 日本不卡视频在线观看| 日韩激情一区| 国产精品久久久久av蜜臀| av在线日韩| 精品一区二区三区的国产在线观看| 欧美91精品| 波多视频一区| 麻豆视频观看网址久久| 国产精品丝袜xxxxxxx| 国产一区二区三区不卡av| 亚洲精品自拍| 美女少妇全过程你懂的久久| 国产成人精品三级高清久久91| 日本高清久久| 亚洲综合精品| 免费观看久久av| 一区二区电影在线观看| 视频一区国产视频| 激情欧美一区| 亚洲精品伊人| 丝袜国产日韩另类美女| 欧美精品一区二区久久| 亚洲综合另类| 捆绑调教美女网站视频一区| 亚洲天堂久久| 国产免费久久| 激情五月综合网| 国产精品乱战久久久| 久久理论电影| 国产精品videossex久久发布| 精品视频97| 麻豆成全视频免费观看在线看| 国产视频亚洲| 国产a亚洲精品| 亚洲永久精品唐人导航网址| 国产在线不卡一区二区三区| 久久国产精品久久w女人spa| 成人国产精品久久| 91精品国产经典在线观看| 欧美福利专区| 国内精品麻豆美女在线播放视频| 亚洲五月综合| 免费不卡中文字幕在线| 日韩久久精品| 美女久久久久久 | 99精品一区| 国产 日韩 欧美 综合 一区| 久久精品97| 亚洲+小说+欧美+激情+另类| 伊人影院久久| 人人香蕉久久| 日韩黄色大片| 久久精品国产网站| 精品国产一区二区三区2021| 久久精品国产福利| 国产精品一区二区av交换| 麻豆精品视频在线| av不卡在线看| 视频一区二区三区入口| 欧美日韩亚洲一区三区| 久久亚洲电影| 99国产精品视频免费观看一公开| aa国产精品| 麻豆精品在线| 69堂精品视频在线播放| 91精品国产自产精品男人的天堂| 精品国产美女a久久9999| 久久国产欧美日韩精品| 日韩精品免费视频一区二区三区| 精品日韩一区| 日本大胆欧美人术艺术动态| 日韩制服丝袜先锋影音| 国产欧美日韩在线观看视频| 久久超碰99| 麻豆精品在线| 国产精品日韩| 高清一区二区三区av| 亚洲精品亚洲人成在线观看| 国产一区福利| 亚洲久久一区| 黄色在线一区| 久久免费大视频| 久久中文视频| 国内精品福利| 亚洲精品91| 国产在线欧美| 亚洲先锋成人| 91久久黄色| 一区二区三区网站| 日韩精品福利一区二区三区| 欧美午夜精品一区二区三区电影| 国产伊人久久| 精品日韩毛片| 久久亚洲风情| 精品视频久久| 精品国产网站| 精品国产成人| 欧美国产日本| 日本欧美国产| 亚洲男女av一区二区| 亚洲一二av| 美女精品视频在线| 欧美日韩高清| 亚洲精品a级片| 美女尤物国产一区| 亚洲欧洲高清| 日韩福利视频导航| 亚洲综合另类| 国产精选久久| 久久精品99国产精品| 精品久久99| 国产欧美一级| 国产精东传媒成人av电影| 中国字幕a在线看韩国电影| 成人在线观看免费视频| 日本成人精品| 免费一区二区三区在线视频| 国产精品久久久久久久久久10秀| 日韩国产欧美三级| 亚洲黄页一区| 亚洲欧美久久| 久久精品国产在热久久| 免费日韩av片| 国产精品久久久久9999高清| 日韩一区三区| 最新国产精品| 新版的欧美在线视频| 亚洲尤物在线| 国产精品毛片一区二区在线看| 亚洲黄色在线| av中文字幕在线观看第一页| 免费人成黄页网站在线一区二区| 精品国产乱码久久久| 亚洲一区二区三区四区电影| 久久三级毛片| 欧美天堂视频| 欧美精品不卡| 亚洲不卡视频| 欧美va天堂在线| 理论片午夜视频在线观看| 国产九一精品| 欧美午夜三级| 青青草91视频| 黄色av一区| 精品一区二区三区在线观看视频|