日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android程序調(diào)試–LogCat按照日志信息級別進(jìn)行輸出和過濾

Android程序調(diào)試–LogCat

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了連云港免費(fèi)建站歡迎大家使用!

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

所以在學(xué)習(xí)Android過程中,繼學(xué)習(xí)它的程序結(jié)構(gòu),寫了HelloWorld和一些簡單的界面布局程序之后,我選擇研究一下它的調(diào)試工具。 LogCat就是其中一個(gè)。LogCat是用來獲取系統(tǒng)日志信息的工具,它可以捕獲的信息包括Dalvik虛擬機(jī)產(chǎn)生的信息,進(jìn)程信 息,ActivityManager信息,PackagerManager信息,Android運(yùn)行時(shí)信息和應(yīng)用程序信息等等。

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

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

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

2. [D]:調(diào)試(Debug)信息,輸出顏色是藍(lán)色

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

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

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

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

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

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

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

 
 
 
  1.  package wt.relativeLayout;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.util.Log;
  6. import android.widget.Button;
  7. import android.widget.EditText;
  8. import android.widget.TextView;
  9. import android.util.Log;
  10.  
  11. public class RelativeLayout extends Activity {
  12. final static String TAG = "LOGCAT";
  13. private TextView tv = null;
  14. private EditText et = null;
  15. private Button btn1 = null;
  16. private Button btn2 = null;
  17.     @Override
  18.     public void onCreate(Bundle savedInstanceState) {
  19.         super.onCreate(savedInstanceState);
  20.         setContentView(R.layout.main);
  21.         tv = (TextView)findViewById(R.id.label);
  22.         et = (EditText)findViewById(R.id.entry);
  23.         btn1 = (Button)findViewById(R.id.cancel);
  24.         btn2 = (Button)findViewById(R.id.ok);
  25.         tv.setText(R.string.name);
  26.         btn1.setText(R.string.button1);
  27.         btn2.setText(R.string.button2);
  28.  
  29.         Log.v(TAG, "This is Verbose");
  30.         Log.d(TAG, "This is Debug");
  31.         Log.i(TAG, "This is Info");
  32.         Log.w(TAG, "This is Warn");
  33.         Log.e(TAG, "This is Error");
  34.     }

程序運(yùn)行后,
LogCat
捕獲得到應(yīng)用程序發(fā)送的日志信息,顯示結(jié)果如下圖:

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

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

過濾器設(shè)置好后,LogcatFilter過濾后的日志信息如下圖,這樣,無論什么類型的日志信息,屬于哪個(gè)進(jìn)程,只要標(biāo)簽為LOGCAT,都將顯示在LogcatFilter內(nèi)。

運(yùn)行測試后,對logCat中的log通過配置l過濾器進(jìn)行過濾

本文鏈接:http://my.oschina.net/liuher/blog/293594


當(dāng)前名稱:Android程序調(diào)試–LogCat按照日志信息級別進(jìn)行輸出和過濾
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/cosdjdc.html