在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来限制输出。
没有进行输出控制前:
。
通过pid:5344 进程ID来控制输出。因为我可以通过任务管理器或者大致浏览LogCat输出知道当前这个应用程序的进程ID是多少。下面是pid:5344控制输出后的结果。发现结果明显变少了。很方便我们观察仅仅是这个项目的输出结果。
。
(2)使用app包名全称限制输出
使用app的名字更准确说是包名来限制输出也是比较精确的。包名也可以唯一标识一个应用程序。
没有进行输出控制前:
。
通过应用程序包名app:com.example.logcatdemo 进行控制输出,注意保命必须是完整的包名。
。
(3)使用tag标签限制输出
在使用Log方法进行打印的时候。Log.i("标签","打印值"),第一个参数是tag标签,可以通过使用tag:标签值,来唯一标识某条输出,精确到某一条具体输出。
进行tag控制后的输出结果:
。
(4)使用输出文本限制输出
如果你在调试过程中已经知道会输出什么内容,你可以直接通过文本查找的方式进行显示控制,如我的输出为“LogCat测试输出”,我就可以来进行限制:
.
通过以上四种方式可以动态的进行输出的查找,是比较方便的。当然也可以通过点击左侧的绿色加号,在弹出的对话框中进行Log控制也是可以的,实现方式同上面4种。如图所示。大家可以自己尝试一下哦。
。
熟练掌握使用Log输出和LogCat调试,将会大大提高我们的开发效率。
版权声明:本文为博主原创文章,未经博主允许不得转载。