網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
使用 Logcat
Logcat是日常開(kāi)發(fā)的重要組成部分。如果您看到其中一個(gè)“強(qiáng)制關(guān)閉”或“已停止”對(duì)話框,您要做的第一件事就是檢查與此崩潰相關(guān)的 Java 堆棧跟蹤。這些被記錄到一個(gè)名為 Logcat 的工具中,其目的是顯示來(lái)自您設(shè)備的所有日志。它顯示來(lái)自模擬器或連接的真實(shí)設(shè)備的日志。
我們可以在 Logcat 中看到以下消息:
System.out.println例外android.util.Log
要正確記錄來(lái)自應(yīng)用程序的消息,您應(yīng)該使用android.util.Log
該類。此類定義了熟悉的信息、警告和錯(cuò)誤方法,您可以在 Logcat 窗格中過(guò)濾這些方法以查看您想要查看的內(nèi)容。每條日志消息都有一個(gè)與之關(guān)聯(lián)的標(biāo)簽,用于標(biāo)識(shí)日志消息的來(lái)源。它通常標(biāo)識(shí)發(fā)生日志調(diào)用的類或活動(dòng)。
以下是一些按嚴(yán)重性分類的示例日志命令:
Log.v("TAG", "Verbose level message"); Log.d("TAG", "Debug level message"); Log.i("TAG", "Information level message"); Log.w("TAG", "Warning level message"); Log.e("TAG", "Error level message"); Log.wtf("TAG", "Assert level message");
最好為要記錄的消息使用適當(dāng)?shù)娜罩炯?jí)別。建議為每個(gè)類定義一個(gè)唯一的調(diào)試標(biāo)簽字符串,以便您可以輕松追蹤日志消息的來(lái)源。您可以使用此標(biāo)簽過(guò)濾日志數(shù)據(jù)并僅查找您感興趣的消息。
定義標(biāo)簽字符串的推薦方法:
private static final String TAG = "MyActivity"; Log.v(TAG, "Verbose level message"); ...
如何打開(kāi) Logcat?
通過(guò)鍵盤快捷鍵?alt + 6
通過(guò)單擊主菜單欄View > Tool Windows > Logcat
。
通過(guò)單擊Android Studio 底部的Logcat工具欄按鈕
?。
以下 Logcat 窗格將出現(xiàn)在 Android Studio 的底部。
以下是上圖中突出顯示的一些重要選項(xiàng)的描述:
設(shè)備選擇菜單
應(yīng)用程序選擇菜單
根據(jù)日志級(jí)別過(guò)濾消息,其中將顯示您選擇的級(jí)別或更高級(jí)別的消息
使用搜索字段根據(jù)搜索字符串過(guò)濾項(xiàng)目
當(dāng)此菜單設(shè)置為 Show only selected application 時(shí),只有在標(biāo)記為 的菜單中選擇的應(yīng)用程序相關(guān)的消息2
才會(huì)顯示在 Logcat 面板中。選擇 No Filter 將顯示設(shè)備或模擬器生成的所有消息。
Logcat 級(jí)別
為了充分利用您的應(yīng)用程序,Logcat 具有多個(gè)級(jí)別的日志消息,因此 Android Studio 提供了多種過(guò)濾 logcat 輸出的方法。一種方法是使用 Log Level 下拉菜單,根據(jù)日志級(jí)別進(jìn)行過(guò)濾,打開(kāi)此下拉菜單并選擇默認(rèn) Verbose 選項(xiàng)以外的任何內(nèi)容。
詳細(xì):顯示所有日志消息
調(diào)試:顯示在開(kāi)發(fā)過(guò)程中有用的日志消息
Info:顯示預(yù)期的日志消息以供常規(guī)使用
警告:顯示尚未出現(xiàn)錯(cuò)誤的可能問(wèn)題
錯(cuò)誤:顯示導(dǎo)致錯(cuò)誤的問(wèn)題
斷言:顯示不應(yīng)該發(fā)生的問(wèn)題
在 Logcat 中制作自定義級(jí)別
每個(gè) Android 日志消息都包含一個(gè)標(biāo)簽。您可以將這些標(biāo)簽與 Logcat 中定義的過(guò)濾器一起使用。要打開(kāi) Logcat 窗格,請(qǐng)單擊右上角的“僅顯示選定的應(yīng)用程序”下拉菜單,然后選擇“編輯過(guò)濾器配置”。這將打開(kāi)一個(gè)“創(chuàng)建新的 Logcat 過(guò)濾器”對(duì)話框:
提供以下信息以創(chuàng)建新過(guò)濾器:
過(guò)濾器名稱:給出一個(gè)唯一的名稱。
日志標(biāo)簽:每條日志消息都有一個(gè)與之關(guān)聯(lián)的標(biāo)簽,它指示消息源自的系統(tǒng)組件。如果您只想查看源自某個(gè)系統(tǒng)組件的消息,您可以在此處輸入該組件的標(biāo)簽。它用于識(shí)別日志消息的來(lái)源。它通常標(biāo)識(shí)發(fā)生日志調(diào)用的類或活動(dòng)。
日志消息:如果您只想查看包含某些元素或字符串的消息,請(qǐng)?jiān)凇叭罩鞠ⅰ弊侄沃兄付ㄋ鼈儭?/p>
包名稱:如果您希望過(guò)濾器僅顯示與某個(gè)包相關(guān)的消息,請(qǐng)?jiān)诖颂庉斎氪税Q。
PID:如果您只想查看引用特定進(jìn)程的消息,請(qǐng)?jiān)诖颂庉斎朐撨M(jìn)程 ID。
自定義日志消息字體顏色和樣式
從主菜單File > Settings
或按鍵盤快捷鍵打開(kāi) Android Studio 設(shè)置Ctrl + Alt + S
。在搜索字段中,輸入 Logcat。Editor > Color & Fonts > Android Logcat
首選項(xiàng)出現(xiàn):
要更改這些選項(xiàng),您必須通過(guò)單擊另存為按鈕保存當(dāng)前主題的副本并輸入一些合適的名稱。現(xiàn)在一一選擇每個(gè)日志級(jí)別并應(yīng)用您自己的字體和背景顏色,使日志消息螺栓或斜體等。
注意:在開(kāi)始自定義之前,請(qǐng)取消選中該Use inherited attributes
框,否則您將無(wú)法編輯這些選項(xiàng)。
從列表中選擇一個(gè)日志級(jí)別(例如 Assert)
如果要更改字體顏色,請(qǐng)選中Foreground
并單擊其顏色框以自定義字體顏色
要更改字體的背景顏色,請(qǐng)選中背景并單擊其顏色框以自定義背景顏色
選中錯(cuò)誤條紋標(biāo)記以在消息末尾顯示標(biāo)記并單擊其顏色框以自定義標(biāo)記顏色
檢查效果然后從下拉菜單中選擇效果(例如下劃線、刪除線或虛線等)并單擊其顏色框以自定義標(biāo)記顏色。
要應(yīng)用更改,請(qǐng)單擊應(yīng)用,然后單擊確定。
如何清除日志
左側(cè)工具條頂部的“垃圾桶”圖標(biāo)是“清除日志”工具。
單擊它會(huì)清除 Logcat。它肯定會(huì)清除您的 LogCat 視圖,因此您只會(huì)在清除它后看到記錄的消息,但這實(shí)際上并沒(méi)有從設(shè)備或模擬器中清除日志。
注意:日志對(duì)性能有影響。過(guò)多的日志記錄會(huì)影響設(shè)備和應(yīng)用程序的性能。至少,調(diào)試和詳細(xì)日志記錄應(yīng)僅用于開(kāi)發(fā)目的,并在應(yīng)用程序發(fā)布之前刪除。
總結(jié)
原文鏈接:https://blog.csdn.net/allway2/article/details/122395737
相關(guān)推薦
- 2024-03-03 Element選擇年范圍,year范圍
- 2022-10-24 centos編譯安裝mariadb的詳細(xì)過(guò)程_mariadb
- 2022-09-07 Golang?中?omitempty的作用_Golang
- 2022-07-23 SQL?Server刪除表中的重復(fù)數(shù)據(jù)_MsSql
- 2022-08-26 C#中WPF內(nèi)存回收與釋放LierdaCracker的實(shí)現(xiàn)_C#教程
- 2022-03-27 Android自定義View實(shí)現(xiàn)時(shí)鐘效果_Android
- 2022-06-16 Python中的Super用法示例詳解_python
- 2022-05-22 redis數(shù)據(jù)結(jié)構(gòu)之壓縮列表_Redis
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支