日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

app测试日志如何获取,logcat值得拥有

發布時間:2023/12/29 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 app测试日志如何获取,logcat值得拥有 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1、命令行語法

?2、選項

3、過濾日志輸出

4、?控制日志輸出格式

5、格式修飾符?

6、查看備用日志緩沖區?


Logcat是一個命令行工具用于轉儲系統消息日志,包括設備拋出錯誤時的堆棧軌跡,以及從您的應用中使用 Log 類寫入的消息。

1、命令行語法

要通過?adb shell?運行 Logcat,一般用法如下:

[adb] logcat [<option>] ... [<filter-spec>] ...

您可以將 logcat 作為?adb?命令運行,也可以直接在模擬器或關聯設備的 shell 提示中運行。

要使用 adb 查看日志輸出,請轉到您的?SDK platform-tools/ 目錄并執行以下命令:

adb logcat

?要獲取 logcat 在線幫助,請啟動設備,然后執行以下命令:

adb logcat --help

?您可以建立與設備的 shell 連接并執行以下命令:

adb shell logcat

?2、選項

下面介紹了logcat的命令行選項:

  • -b:加載可供查看的備用日志緩沖區

    例如events或radio。默認使用 main、system 和 crash 緩沖區集。請參閱查看備用日志緩沖區

  • -c, –clear:清除(清空)所選的緩沖區并退出

    默認緩沖區集為main、system和crash。要清除所有緩沖區,請使用-b all -c。

  • -e?, –regex=:只輸出日志消息與匹配的行,其中是一個正則表達式

  • -m?, –max-count=:輸出行后退出。這樣是為了與–regex配對,但可以獨立運行

  • –print:與–regex和–max-count配對,使內容繞過正則表達式過濾器,但仍能夠在獲得適當數量的匹配時停止

  • -d:將日志轉儲到屏幕并退出

  • -f :將日志消息輸出寫入?

    默認值為stdout

  • -g, –buffer-size:輸出指定日志緩沖區的大小并退出

  • -n:將輪替日志的數量上限設置為??默認值為4

    需要使用?-r?選項

  • -r:每輸出時輪替日志文件

    默認值為16。需要使用-f選項

  • -s:相當于過濾器表達式‘*:S’;它將所有標記的優先級設為“靜默”,并用于放在可添加內容的過濾器表達式列表之前

  • -v:設置日志消息的輸出格式。

    默認格式為threadtime。

  • -D, –dividers:輸出各個日志緩沖區之間的分隔線

  • -c:清空(清除)整個日志并退出

  • -t:僅輸出最新的行數。此選項包括-d功能

3、過濾日志輸出

1、日志消息的標記是一個簡短的字符串,指示消息所源自的系統組件(例如,“View”表示視圖系統)。

2、優先級是以下字符值之一(按照從最低到最高優先級的順序排列):

  • V:詳細(最低優先級)

  • D:調試

  • I:信息

  • W:警告

  • E:錯誤

  • F:嚴重錯誤

  • S:靜默(最高優先級,絕不會輸出任何內容)

通過運行 Logcat 并觀察每條消息的前兩列,您可以獲取系統中使用的帶有優先級的標記列表,格式為?/

以下是使用?logcat -v brief output?命令獲取的簡短 Logcat 輸出的示例,它表明消息與優先級“I”和標記“ActivityManager”相關:

I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}

要將日志輸出降低到可管理的水平,您可以使用過濾器表達式限制日志輸出。通過過濾器表達式,您可以向系統指明您感興趣的標記/優先級組合,系統會針對指定的標記抑制其他消息。

過濾器表達式采用?tag:priority …?格式:

  • tag指示您感興趣的標記

  • priority指示可針對該標記報告的最低優先級

不低于指定優先級的標記的消息會寫入日志。您可以在一個過濾器表達式中提供任意數量的 tag:priority 規范。一系列規范使用空格分隔。

以下是一個過濾器表達式的示例,該表達式會抑制除標記為“ActivityManager”、優先級不低于“信息”的日志消息,以及標記為“MyApp”、優先級不低于“調試”的日志消息以外的所有其他日志消息。

adb logcat ActivityManager:I MyApp:D *:S?

?上述表達式中最后一個元素 *:S 將所有標記的優先級設為“靜默”,從而確保系統僅顯示標記為“ActivityManager”和“MyApp”的日志消息。

使用 *:S 是確保日志輸出受限于您已明確指定的過濾器的絕佳方式,它可以讓過濾器充當日志輸出的“白名單”。

以下過濾器表達式顯示了優先級不低于“警告”的所有標記的所有日志消息:

adb logcat *:W?

?如果您從開發計算機運行 Logcat(相對于在遠程 adb shell 上運行),則也可以通過導出環境變量?ANDROID_LOG_TAGS?的值設置默認過濾器表達式:

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"?

4、?控制日志輸出格式

除標記和優先級外,日志消息還包含許多元數據字段。您可以修改消息的輸出格式,以便它們顯示特定的元數據字段。為此,您可以使用?-v?選項,并指定下列某一受支持的輸出格式。

  • brief:顯示優先級、標記以及發出消息的進程的 PID

  • long:顯示所有元數據字段,并使用空白行分隔消息

  • process:僅顯示 PID

  • raw:顯示不包含其他元數據字段的原始日志消息

  • tag:僅顯示優先級和標記

  • thread:舊版格式,顯示優先級、PID 以及發出消息的線程的 TID

  • threadtime(默認值):顯示日期、調用時間、優先級、標記、PID 以及發出消息的線程的 TID

  • time:顯示日期、調用時間、優先級、標記以及發出消息的進程的 PID

啟動 Logcat 時,您可以使用 -v 選項指定所需的輸出格式:

[adb] logcat [-v <format>]

?以下示例顯示了如何生成輸出格式為 thread 的消息:

?adb logcat -v thread

?請注意,您只能使用 -v 選項指定一種輸出格式,但可以指定任意數量的有意義的修飾符。Logcat 會忽略沒有意義的修飾符

5、格式修飾符?

格式修飾符依據以下一個或多個修飾符的任意組合更改 Logcat 輸出。

要指定格式修飾符,請使用 -v 選項,如下所示:

adb logcat -b all -v color -d?

?

每個 Android 日志消息都有一個與之相關聯的標記和優先級。您可以將任何格式修飾符與以下任一格式選項進行組合:brief、long、process、raw、tag、thread、threadtime 和 time。

您可以通過在命令行中輸入 logcat -v –help 獲取格式修飾符詳細信息:

  • color:使用不同的顏色來顯示每個優先級。

  • descriptive:顯示日志緩沖區事件說明。

    此修飾符僅影響事件日志緩沖區消息,不會對其他非二進制文件緩沖區產生任何影響。事件說明取自 event-log-tags 數據庫。

  • epoch:顯示自 1970 年 1 月 1 日以來的時間(以秒為單位)。

  • monotonic:顯示自上次啟動以來的時間(以 CPU 秒為單位)。

  • printable:確保所有二進制日志記錄內容都進行了轉義。

  • uid:如果訪問控制允許,則顯示 UID 或記錄的進程的 Android ID。

  • usec:顯示精確到微秒的時間。

  • UTC:顯示 UTC 時間。

  • year:將年份添加到顯示的時間。

  • zone:將本地時區添加到顯示的時間。

6、查看備用日志緩沖區?

?

Android 日志記錄系統為日志消息保留了多個環形緩沖區而且并非所有的日志消息都會發送到默認的環形緩沖區。

要查看其他日志消息,您可以使用 -b 選項運行 logcat 命令,以請求查看備用的環形緩沖區。您可以查看下列任意備用緩沖區

  • radio:查看包含無線裝置/電話相關消息的緩沖區。

  • events:查看已經過解譯的二進制系統事件緩沖區消息。

  • main:查看主日志緩沖區(默認),不包含系統和崩潰日志消息。

  • system:查看系統日志緩沖區(默認)。

  • crash:查看崩潰日志緩沖區(默認)。

  • all:查看所有緩沖區。

  • default:報告 main、system 和 crash 緩沖區。

以下是 -b 選項的用法:

[adb] logcat [-b <buffer>]?

?以下示例顯示了如何查看包含無線裝置和電話相關消息的日志緩沖區

adb logcat -b radio?

?此外,您也可以為要輸出的所有緩沖區指定多個 -b 標記,如下所示:

?logcat -b main -b radio -b events

?您可以指定一個 -b 標記,后跟緩沖區逗號分隔列表,例如:

logcat -b main,radio,events?

感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接免費拿走:

① 2000多本軟件測試電子書(主流和經典的書籍應該都有了)

② 軟件測試/自動化測試標準庫資料(最全中文版)

③ 項目源碼(四五十個有趣且經典的練手項目及源碼)

④ Python編程語言、API接口自動化測試、web自動化測試、App自動化測試(適合小白學習)


⑤ Python學習路線圖(告別不入流的學習)?

?上圖的資料?在我的QQ技術交流群里(技術交流和資源共享,廣告進來腿給你打斷)

可以自助拿走,群號953306497(備注“csdn111”)群里的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。

總結

以上是生活随笔為你收集整理的app测试日志如何获取,logcat值得拥有的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。