Android的LogCat的使用--总结

在Eclipse中安装ADT和androidsdk包之后,运行以开发的android程序时,在LogCat窗口中会显示出一系列的信息,这些信息是每一个程序通过Dalvik虚拟机所传出的实时信息,可以方便我们对程序的了解。

在log窗口中,每条信息都包含五个部分,Time,标题空白,pid,tag和Message。

1、Time

   表示执行的时间,这个信息对于学习生命周期,分析程序运行的先后顺序特别有用。

2、标题空白的列

   表示的是信息的种类,分为V,D,I,W,E五种。

   V:verbose,显示全部信息

   D:Debug,显示调试信息

   I:Info,显示一般信息

   W:Warming,显示警告信息

   E:Error,显示错误信息

   可以通过点击LogCat上面的用圆圈括起来的V,D,I,W,E来改变显示的范围。比如选择了W,那就只有警告信息和错误信息可以显示出来了。

3、pid

   表示程序运行时的进程号

4、tag

   标签,通常表示系统中的一些进程名,比如我们运行helloworld程序的话,就会看到activitymanager在运行。

5、Message

   表示进程运行时的一些具体信息,比如我们运行helloworld程序的话,就会看到startingactivity...helloWorld的字样

   可以输出LogCat的信息到文本文件中,以方便分析。在下拉框中选择输出选择的信息就可以了。

下面是输出到文件中的启动helloWorld程序时的一条信息的例子,分别用5个下划线标出了上面介绍的内容:

05-20 15:46:10.129:INFO/ActivityManager(60): Startingactivity: Intent { act=android.intent.action.MAINcat=[android.intent.category.LAUNCHER] flg=0x10200000cmp=com.example.android.helloworld/.HelloWorld }

6、Filter的使用

   可以在Filter中输入筛选信息,使LogCat中只现实我们需要分析的信息。比如我们只想看和HelloWorld相关的信息,就可以在Filter中输入HelloWorld,这样只有Message中包含HelloWorld的内容才会显示出来。

7、LogCat中信息不能显示

   上面说了这么多关于logCat的使用,可能LogCat中根本就什么信息都没有显示!没关系,只要在Eclipse中选择window->showview->other->android->devices就可以了。

8、在LogCat中输出程序的运行信息

   a、在程序中导入相应的包

       importandroid.util.Log;

   b、在需要输出信息的函数中增加相关的调试代码

       Log.i("hiworld","oncreate");

       方法i是Log类的静态方法,可以直接使用,我们看着各类的定义可以看到,它提供了多种输出方法,分别对应我们上面提到的V,D,I,W,E。用哪个方法就决定了输出的类型,这里用i,表示输出的是information。

      这个方法中的第一个参数就是要显示在Tag那一栏的内容,把这条语句加到OnCreate方法中,执行时LogCat中就会显示如下的信息。

      05-2221:58:22.894      3910    hiworld   onCreate

9、创建新的Filter

   有时候只想看我们程序中用Log类的相关方法输出的各种信息,这时就可以考虑新建一个过滤器。点击LogCat的右上角的“+”号,可以创建一个新的过滤器。比如我们在byLog Tag的选项中填入上面程序输出的"hi world"这个tag。这样再运行时在我们新创建的Filter中就只显示hiworld这个tag标记出来的信息了。


eoe论坛上还有一种方法,将其封装成一个java文件:

1.写一个这样的代码,LogUtil.java,放到你SRC下面,再开一个包,比如com.jackiez.mytest.util里面,代码如下

package com.jackiez.mytest.util;

import android.util.Log;

public class LogUtil {
//锁,是否关闭Log日志输出
public static boolean LogOFF=false;
//有5种类型
//调试日志类型
public static final int DEBUG=111;
//错误日志类型
public static final int ERROR =112;
//信息日志类型
public static final int INFO =113;
//详细信息日志类型
public static final int VERBOSE =114;
//警告日志类型
public static final int WARN =115;
//显示,打印日志
public static void LogShow(String Tag,String Message,int Style){
// TODO Auto-generated constructor stub
if(!LogOFF)
switch (Style) {
case DEBUG:{
Log.d(Tag, Message);
}
break;
case ERROR:{
Log.e(Tag, Message);
}
break;
case INFO:{
Log.i(Tag, Message);
}
break;
case VERBOSE:{
Log.v(Tag, Message);
}
break;
case WARN:{
Log.w(Tag, Message);
}
break;
default:
break;
}
}
}



2.接下来,在我们原来的代码地方加入这样的代码
Logutil.LogShow(“位置”,“你自己写的信息”,LogUtil.DEBUG);
那个位置一般就是你在哪个文件下面调试,就写哪个文件名就行,比如在hello.java下面搞,你就写hello,下一个调试信息你自己写咯!

3.然后呢,在DDMS下面,在Logcat那个部分视图里面添加几个过滤器Log Filter,把你的这些各个位置的调试标签填进去,然后启动程序,这个时候查看Logcat,就可以看到相应地方的调试信息了!


参考文章:http://blog.sina.com.cn/s/blog_566be38401014l9j.html

http://www.eoeandroid.com/thread-46333-1-1.html


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值