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过滤后的输入结果