91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾

發布時間:2021-11-26 16:57:00 來源:億速云 閱讀:281 作者:柒染 欄目:移動開發

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Android程序調試;LogCat

無論什么樣的程序開發過程中,出現錯誤都是不可避免的,一般情況下,語法錯誤會被開發環境檢測到,并能及時的提示我們錯誤的位置以及修改的方法,但是邏輯錯誤就不是那么容易被發現了,通常邏輯錯誤的定位和分析是一件非常困難的事情。

所以在學習Android過程中,繼學習它的程序結構,寫了HelloWorld和一些簡單的界面布局程序之后,我選擇研究一下它的調試工具。 LogCat就是其中一個。LogCat是用來獲取系統日志信息的工具,它可以捕獲的信息包括Dalvik虛擬機產生的信息,進程信 息,ActivityManager信息,PackagerManager信息,Android運行時信息和應用程序信息等等。

我們可以在打開Eclipse之后,選擇Window –> Show View ->Other菜單,然后在Android->LogCat中選擇LogCat,這樣LogCat便會在Eclipse的下方區域出現了。

其中,在LogCat的右上方的5個字母分別表示了5種不同類型的日志信息(并以不同顏色加以區分,級別越高,顏色越突出):

1. [V]:詳細(Verbose)信息,輸出顏色為黑色

2. [D]:調試(Debug)信息,輸出顏色是藍色

3. [I]:通告(Info)信息,輸出顏色為綠色

4. [W]:警告(Warn)信息,輸出顏色為橙色

5. [E]:錯誤(Error)信息,輸出顏色為紅色,這里錯誤信息的級別***,其次是警告信息,然后是通知信息和調試信息,級別***的是詳細信息。

6.[assert],新版本加入的。

在LogCat中,我們可以通告這5個字母圖標選擇要顯示的信息類型,級別高于所選類型的信息也會在LogCat中顯示,但級別低于所選類型的信息則不會被顯示。

在Android程序調試過程中,首先要引入android.util.Log包,然后使用用來記錄詳細信息的Log.v()、用來記錄調試信息的 Log.d()、用來記錄通告信息的Log.i()、用來記錄警告信息的Log.w()、用來記錄錯誤信息的Log.e()這樣五個函數在程序中設置“日 志點”。這些函數的***個參數是日志標簽TAG(就是在你要測試的位置需要一個常量用來標記,標記的名字就是所謂的日志標簽),第二個參數是實際的信息內 容。每當程序運行到我們設置的“日志點”時,應用程序的日志信息便被發送到LogCat中,我們就可以根據“日志點”顯示的信息與預期我們在函數中設置的 信息內容是否一致來判斷程序是否存在錯誤,這樣就能根據“日志點”來迅速找到錯誤的“出事地點”了。

在下面的程序中,演示了Log類的具體使用方法:

 package wt.relativeLayout;     import android.app.Activity;  import android.os.Bundle;  import android.util.Log;  import android.widget.Button;  import android.widget.EditText;  import android.widget.TextView;  import android.util.Log;     public class RelativeLayout extends Activity {  final static String TAG = "LOGCAT";  private TextView tv = null;  private EditText et = null;  private Button btn1 = null;  private Button btn2 = null;      @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);          tv = (TextView)findViewById(R.id.label);          et = (EditText)findViewById(R.id.entry);          btn1 = (Button)findViewById(R.id.cancel);          btn2 = (Button)findViewById(R.id.ok);          tv.setText(R.string.name);          btn1.setText(R.string.button1);          btn2.setText(R.string.button2);             Log.v(TAG, "This is Verbose");          Log.d(TAG, "This is Debug");          Log.i(TAG, "This is Info");          Log.w(TAG, "This is Warn");          Log.e(TAG, "This is Error");      }  }

程序運行后,LogCat捕獲得到應用程序發送的日志信息,顯示結果如下圖:

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾

通過結果我們發現,即使我們事先選擇了某個特定的日志信息的級別,產生的日志信息還是有很多,需要我們逐條去閱讀,給我們帶來很大的麻煩。這時我們就要用 到一個LogCat提供的“過濾”功能了,在右上角的“+”號和“-”號,分別是添加和刪除過濾器。我們可以根據日志信息的標簽(Tag)、產生日志的進 程編號(Pid)或者信息等級(Level),對顯示的日志內容進行過濾。在實際使用中,我們***為每一個類聲明一個字符串常量TAG,這樣在 Logcat中我們可以容易區分不同的類的日志了。

下面使用在LogCat右上角的“+”號,添加一個名為LogcatFilter的過濾器,并設置過濾條件為“標簽=LOGCAT”,下圖為過濾器的具體設置方法:

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾

過濾器設置好后,LogcatFilter過濾后的日志信息如下圖,這樣,無論什么類型的日志信息,屬于哪個進程,只要標簽為LOGCAT,都將顯示在LogcatFilter內。

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾

運行測試后,對logCat中的log通過配置l過濾器進行過濾

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾

Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾

關于Android程序調試中LogCat如何按照日志信息級別進行輸出和過濾問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湾仔区| 大渡口区| 监利县| 永泰县| 佳木斯市| 且末县| 永登县| 长宁县| 万年县| 镶黄旗| 常德市| 青河县| 运城市| 长丰县| 鹤庆县| 正镶白旗| 亚东县| 香港| 二连浩特市| 桃江县| 太原市| 高邮市| 葫芦岛市| 鄂州市| 祁门县| 桦南县| 丹阳市| 榆树市| 阿尔山市| 武邑县| 故城县| 墨脱县| 德清县| 教育| 濮阳市| 乡宁县| 类乌齐县| 铜鼓县| 商都县| 湖北省| 乌恰县|