在Android开发中,LogCat是一个非常重要的调试工具,能够输出非常多关于项目或者手机的信息。

可是正是因为LogCat功能的过于强大,输出的信息量也是极为庞大的,那么我们就须要通过一定的方式依据我们的须要限定LogCat的输出,这样才干使LogCat帮我们起到更好的调试代码的作用。

LogCat输出的类型一般有五种,各自是verbose,debug,info,warn,error。

当中verbose的最为宽泛,假设选择verbose,那么就会向下兼容输出verbose,debug,info,warn,error。假设选择debug,就会向下兼容输出debug,info,warn,error。以此类推。一般能够通过Eclipse下方的调试区域进行选择。如图所看到的:

当中在代码中使用Log方法进行输出时。也能够控制输出不同的内容。相应的也有5种不同的Log方法。Log.v("","").Log.d("","").Log.i("","").Log.w("","").Log.e("",""). .在实际开发中,能够依据自己的需求进行不同的打印输出。

事实上不仅能够通过标签的选择,或者方法的选择,来对这五大类Log进行控制显示,Android中还为我们提供了精确的Log查找。例如以下图所看到的:“Search for messages.Accepts Java regexes.Prefix with pid:,app:,tag: or text: to limit scope”.即我们能够通过使用进程ID,项目包名,tag标签。text输出文本;来限制输出范围。并且这里能够进行动态的改动,动态的显示。很方便。我来一一进行演示。

(1)使用pid进程ID号限制输出

假设当前在你的工作空间中包括着多个项目,而且多个项目不断在执行。此时在你的LogCat中打印的内容可能包括着多个不同的项目,当然不同的项目的进程ID是不同的。我们就能够通过ID来限制输出。

没有进行输出控制前:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">。

通过pid:5344     进程ID来控制输出。由于我能够通过任务管理器或者大致浏览LogCat输出知道当前这个应用程序的进程ID是多少。以下是pid:5344控制输出后的结果。发现结果明显变少了。

非常方便我们观察不过这个项目的输出结果。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">。

(2)使用app包名全称限制输出

使用app的名字更准确说是包名来限制输出也是比較精确的。包名也能够唯一标识一个应用程序。

没有进行输出控制前:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">。

通过应用程序包名app:com.example.logcatdemo   进行控制输出,注意保命必须是完整的包名。

(3)使用tag标签限制输出

在使用Log方法进行打印的时候。

Log.i("标签","打印值"),第一个參数是tag标签,能够通过使用tag:标签值,来唯一标识某条输出。精确到某一条详细输出。

进行tag控制后的输出结果:

(4)使用输出文本限制输出

假设你在调试过程中已经知道会输出什么内容。你能够直接通过文本查找的方式进行显示控制,如我的输出为“LogCat測试输出”,我就能够来进行限制:

.

通过以上四种方式能够动态的进行输出的查找。是比較方便的。当然也能够通过点击左側的绿色加号,在弹出的对话框中进行Log控制也是能够的,实现方式同上面4种。如图所看到的。大家能够自己尝试一下哦。

熟练掌握使用Log输出和LogCat调试,将会大大提高我们的开发效率。

github主页:https://github.com/chenyufeng1991  。欢迎大家訪问!

Android中怎样控制LogCat的自己定义输出的更多相关文章

  1. Android中如何控制元素的显示隐藏?

    在Android程序中,有时需要程序开启时默认隐藏某个控件,当单击某个按钮时才触发显示控件的内容.比如在查询员工资料时,提交查询后再显示查询到的表格内容: Android中控制元素的隐藏参考以下代码. ...

  2. Android中如何利用attrs和styles定义控件

    一直有个问题就是,Android中是如何通过布局文件,就能实现控件效果的不同呢?比如在布局文件中,我设置了一个TextView,给它设置了 textColor,它就能够改变这个TextView的文本的 ...

  3. Android中Webview使用javascript调用事先定义好的Java函数

    1. 首先定义好一个类,专们用于给javascript调用 public class JavaScriptInterface { // share your news public void shar ...

  4. android 中怎么控制checkbox中文本与左侧box的距离

    使用paddingLeft属性可以控制宽度.默认比较宽 效果如图:

  5. Android中AppWidget的分析与应用:AppWidgetProvider .

    from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...

  6. Android中通过注解代替findViewById方法

    转自:http://www.2cto.com/kf/201405/302998.html 这篇文章主要讲解注解实现findViewById的功能,首先我们来熟悉一下在java中怎么定义一个注解和解析一 ...

  7. Android中的五大布局和logcat打印日志

    在android中的布局有五大类,有的时候你可能用到一种,但有的时候你也可能需要两种或者三种布局同时一起使用.这五种布局为别为:LinearLayout(线性布局),FrameLayout(框架布局) ...

  8. Android中关于JNI 的学习(五)在C文件里使用LogCat

    Log是开发过程中.对于我们调试程序非常重要的一个工具,有非常多时候,我们正是通过Log才干够看清楚程序是不是真的依照我们想像中的模式在跑,从而定位到问题所在的地方.而在Android开发中,毫无疑问 ...

  9. Android中使用dimen定义尺寸(转)

    (转自:http://blog.csdn.net/yuzhiboyi/article/details/7696174) 最近,遇到了一种定义尺寸的方法,类似于C里面的宏定义一样,其实以前已经见过了这种 ...

随机推荐

  1. 复制View对象

    
Mark一下 - (UIView*)duplicate:(UIView*)view { NSData * tempArchive = [NSKeyedArchiver archivedDataWit ...

  2. wxformbuilder

    1.打开wxFormBuilder,按开始一个空项目.您也可以执行File|New来创建新项目2.从Object Properties(对象属性)面板配置项目的设置A.选择产生什么类型的代码. 现在你 ...

  3. CString 转换为 char*

    CString str="这是一个测试"; char* str_0=str.GetBuffer(0);

  4. Linux定时关机

    sudo shutdown -h +120 :两小时后关机sudo shutdown -h 23:00 :表示在23点定时关机 一.shutdown命令关机 各参数功能: -c 取消前一个shutdo ...

  5. ASP.NET MVC生成静态页面

    1.先付上封装好生成静态页的原代码: public class Common { #region 获取模板页的Html代码 /// <summary> /// 获取页面的Html代码 // ...

  6. Codeforces Gym101473 A.Zero or One (2013-2014 ACM-ICPC Brazil Subregional Programming Contest)

    代码: #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #i ...

  7. NIO2.0之copy、delete和move

    转自:http://www.importnew.com/15884.html Java 7引入了NIO.2,NIO.2是继承自NIO框架,并增加了新的功能(例如:处理软链接和硬链接的功能).这篇帖子包 ...

  8. Network | CIDR

    无类别(现在) 无类别域间路由(Classless Inter-Domain Routing.CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法. CI ...

  9. SPOJ 20713 DIVCNT2 - Counting Divisors (square)

    DIVCNT2 - Counting Divisors (square) #sub-linear #dirichlet-generating-function Let \sigma_0(n)σ​0​​ ...

  10. Ruby on rails初体验(一)

    接触ruby on rails 已经有一段时间了,想记录一下自己的rails历程.自己写一些小例子来帮助学习.  Rails 适用于那些以数据为中心的应用,很多应用的核心部分包括一个数据库,这些引用的 ...