LogCat是可以显示在Eclipse集成开发环境中的用来获取系统日志信息的工具,是Android系统提供的调试工具之一。它的主要功能就是能够捕获包括Dalvik虚拟机产生的信息、进程信息、ActivityManager信息、PackagerManager信息、Homeloader 信息、WindowsManager信息、Android运行时信息和应用程序信息等可被捕获的信息。
1.LogCat的使用方法
打开方式:选择"Window"→"Show View "→"Other"命令,打开Show View的选择菜单,然后在Andoird → LogCat中选择LogCat。打开LogCat后,它便显示在Eclipse的下方区域,其界面如图1所示。

图1 LogCat界面
从图中我们可以看到LogCat的右上方有5个不同的字母,这5个字母分别表示5种不同类型的日志信息,它们的级别依次增高,表示含义如下。
·V:详细(Verbose)信息。
·D:调试(Debug)信息。
·I:通告(Info)信息。
·W:警告(Warn)信息。
·E:错误(Error)信息。
在LogCat中,用户可以通过5个字母图标选择显示的信息类型,级别高于所选类型的信息也会在LogCat中显示,但级别低于所选类型的信息则不会被显示。
同时,LogCat提供了"过滤"功能,在右上角的"+"号和"-"号,分别是添加和删除过滤器。用户可以根据日志信息的标签(Tag)、产生日志的进程编号(Pid)或信息等级(Level),对显示的日志内容进行过滤。
2.程序调试原理
·引入android.util.Log包。
·使用Log.v()、 Log.d()、 Log.i() 、Log.w() 和 Log.e() 5个方法在程序中设置"日志点"。
Log.v()用来记录详细信息。
Log.d()用来记录调试信息。
Log.i()用来记录通告信息。
Log.w()用来记录警告信息。
Log.e()用来记录错误信息。
·当程序运行到"日志点"时,应用程序的日志信息便被发送到LogCat中。
·判断"日志点"信息与预期的内容是否一致。
·进而判断程序是否存在错误。
下面的例子演示了Log类的具体使用方法。
代码清单1-1 LogCat.java
package com.example.LogCat;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class LogCat extends Activity {
final static String TAG = "LOGCAT";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.v(TAG,"Verbose");
Log.d(TAG,"Debug");
Log.i(TAG,"Info");
Log.w(TAG,"Warn");
Log.e(TAG,"Error");
}
}
在本段代码中,程序第5行"import android.util.Log;"引入android.util.Log包;第8行定义标签,标签帮助用户在LogCat中找到目标程序生成的日志信息,同时也能够利用标签对日志进行过滤;第14行记录一个详细信息,Log.v()方法的第一个参数是日志的标签,第二个参数是实际的信息内容;第15~18行分别产生了调试信息、通告信息、警告信息和错误信息。
终运行结果如图2所示,从图中还可以看出LogCat对不同类型的信息使用了不同的颜色加以区别。

图2 LogCat工程的运行结果
3.添加过滤器
上文中提到LogCat提供了"过滤"功能,下面就来介绍一下LogCat是如何添加过滤器的。
首先,单击右上角的"+",在弹出的对话框中填入过滤器的名称:LogcatFilter,设置过滤条件为"标签=LOGCAT"即可,操作方法如图3所示。

图3 添加过滤器
经过上述过滤器过滤后,无论什么类型的日志信息,属于哪一个进程,只要标签为LogCat,都将显示在LogcatFilter区域内。LogCat过滤后的输入结果如图4所示。

图4 LogCat过滤后的输入结果