Android-LogCat日志工具(二)

  既然是Java语言,那么对于很多人来说,用System.out.println() 方法来打印日志是最熟悉、最简单不过了。不过在真正的项目开发中,是极度不建议使用 System.out.println()方法的!

  为什么 System.out.println()方法会这么遭大家唾弃呢?经过老师和同学极度鄙视之后,发现这个方法除了使用方便一点之外,其他就一无是处了。方便在哪儿呢?在 Eclipse中你只需要输入 syso,然后按下代码提示键,这个方法就会自动出来了,相信这也是很多 Java新手对它钟情的原因。那缺点又在哪儿了呢?这个就太多了,比如日志打印不可控制、打印时间无法确定、不能添加过滤器、日志没有级别区分……

LogCat 中是可以很轻松地添加过滤器的,如下图的两个长框

 

  All messages 过滤器也就相当于没有过滤器,会把所有的日志都显示出来。

  com.test.helloworld 过滤器是我们运行 HelloWorld 项目时自动创建的,点击这个过滤器就可以只看到 HelloWorld 程序中打印的日志。

  那可不可以自定义过滤器呢?当前可以,我们现在就来添加一个过滤器试试。

    点击图中的 加号会弹出一个过滤器配置界面。我们给过滤器起名叫 messages,并且让它对名为 messages 的 Tag 进行过滤

  

 

  点击 OK,你就会发现你已经多出了一个 messages过滤器,当你点击这个过滤器的时候,你会发现刚才在 onCreate()方法里打印的日志没了,这是因为 messages这个过滤器只会显示 Tag名称为 messages的日志。你可以尝试在 onCreate()方法中把打印日志的语句改成  Log.d("messages", "我是BigBoy520");或许现在你还没感受到过滤器的好处,但学习时间很长,以后会慢慢遇到。

  看完了过滤器,再来看一下 LogCat 中的日志级别控制吧。LogCat 中主要有 5 个级别,分别对应着我在上一节介绍的 5 个方法

    

   当前我们选中的级别是 verbose,也就是最低等级。这意味着不管我们使用哪一个方法打印日志,这条日志都一定会显示出来。而如果我们将级别选中为 debug,这时只有我们使用 debug及以上级别方法打印的日志才会显示出来,以此类推。你可以做下试验,如果你把LogCat 中的级别选中为 info、warn 或者 error 时,我们在onCreate()方法中打印的语句是不会显示的,因为我们打印日志时使用的是 Log.d()方法。 

    日志级别控制的好处就是,你可以很快地找到你所关心的那些日志。相信如果让你从上千行日志中查找一条崩溃信息,你一定会抓狂的吧。而现在你只需要将日志级别选中为 error,那些不相干的琐碎信息就不会再干扰你的视线了。

  

  最后,谢谢大家的关注。来一句诗词 :九曲黄河万里沙,浪淘风簸自天涯

 上一篇:Android-LogCat日志工具(一)http://www.cnblogs.com/hxb2016/p/6070014.html

 

添加随笔
标题 
内容(TinyMCE编辑器,支持拖放/粘贴上传图片)  查看自动保存内容
 
  
  
                            
         上传图片  插入代码(推荐)插入代码    
段落 
字体 
字体大小 
    
                 

转载于:https://www.cnblogs.com/hxb2016/p/6072010.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android SDK下, 如何在程序输出日志 以及如何查看日志. 闲话少说,直接进入正题 在程序输出日志, 使用 android.util.Log 类. 该类提供了若干静态方法 Log.v(String tag, String msg); Log.d(String tag, String msg); Log.i(String tag, String msg); Log.w(String tag, String msg); Log.e(String tag, String msg); 分别对应 Verbose, Debug, Info, Warning,Error. tag是一个标识,可以是任意字符串,通常可以使用类名+方法名, 主要是用来在查看日志时提供一个筛选条件. 程序运行后 并不会在 ide的控制台内输出任何信息. 如果要后查看日志 请使用 adb logcat 关于adb的更多信息请查看官方网站. 当执行 adb logcat 后会以tail方式实时显示出所有的日志信息. 这时候我们通常需要对信息进行过滤,来显示我们需要的信息, 这时候我们指定的 tag就派上了用场. adb logcat -s MyAndroid:I 这时将只显示tag为MyAndroid,级别为I或级别高于I(Warning,Error)的日志信息. 示例代码如下: Java代码 1. package com.zijun; 2. 3. import android.app.Activity; 4. import android.content.Context; 5. import android.graphics.Canvas; 6. import android.os.Bundle; 7. import android.util.Log; 8. import android.view.MotionEvent; 9. import android.view.View; 10. 11. public class MyAndroid extends Activity { 12. 13. protected static final String ACTIVITY_TAG="MyAndroid"; 14. 15. @Override 16. protected void onCreate(Bundle icicle) { 17. super.onCreate(icicle); 18. setContentView(new MyView(this)); 19. } 20. public class MyView extends View { 21. public MyView(Context c) { 22. super(c); 23. } 24. @Override 25. protected void onDraw(Canvas canvas) { 26. 27. } 28. @Override 29. public boolean onMotionEvent(MotionEvent event) { 30. Log.i(MyAndroid.ACTIVITY_TAG, "============================="); 31. 32. Log.d(MyAndroid.ACTIVITY_TAG, "Haha , this is a DEBUG of MyAndroid. "); 33. Log.i(MyAndroid.ACTIVITY_TAG, "Haha , this is a INFO of MyAndroid. "); 34. Log.w(MyAndroid.ACTIVITY_TAG, "Haha , this is a WARNING of MyAndroid. "); 35. 36. return true; 37. } 38.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值