在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 。欢迎大家訪问!