工欲善其事,必先利其器
Anroid 开发的最大的利器就是Android Studio了。
工具虽好,但也要称手才行。
调试Debug
在我还没有使用Android studio之前,我主要的Debug查看时,主要是通过TAG过滤,也同时过本应用的其他LOG也被过滤了。同时我又懒做其他过滤,经常使得我在调试时需要不断的切换出来看其他的Log信息。
这个时候,使用TAG的粒度就小了些,看到不其应用的其他信息。如果不使用TAG,其他应用,系统的log就像苍蝇一样飞来了。
为了更全局的观看应用的调式过程,我觉得需要粒度控制要精细一下。
这样的好处就是我知道应用发生了什么
一个设备的调试信息像水一样流动。
有时候,就是因为一点点,那是好一点点,那就会好很多,你比别人多一点点,也就是比别人好。一点点的多了。什么事情都会慢慢变好了
重要的是思想,方式方法可以是多样的。但主要的要旨就是:
在开发中尽量显示需要的信息,不显示不需要的信息。
过滤
Log Tag
Log Message
Log Package Name
Log PID
Log Level
(关于Regex(正则表达式)请自行查看使用
5个过滤维度:
标签,内容,包名,进程ID,重要级
过滤参数就是日志的匹配规则(可使用正则表达式)
区分自己的应用和别人的应用 包名,和进程ID
包名是应用的唯一确认的标识不仅在开发中,而且在生产环境中也是一样的。
所以在开发中如何选中只是本应用的信息的优先维度是:包名
Package Name
在过滤参数内写入指定的包名,那么在Log监视台里打印出来的就是与本包名相关的Log了。
世界一下子就清静了
这个做完之后,粒度的粗细就细分到了自己的
我不建议使用PID.因为这个值会随着运行环境的不同有不同的值 不可控的值不具唯一性。
使用Log Level
选择Log Level 里是有5种重要级。它们是父子层级的关系。
Error>Warn>Info>debug>Verbose
还有一个Assert(用于自动化测试断言的)
在打印的Log,这样的一层层的将Log的范围缩小,这个世界可能就更加安静了
一个方式是:你可以制5个过滤,分别对应的这个5个重要级,在需要的时候选中你需要的级别显示
一个方式是:我们通过Log的颜色值去做区分的。
使用TAG
标签,这个时候就具体到业务模块了。我的经验是,在不同的打印的就是当前类名称做为一个TAG标称
一通发,这里我能较快过的通过这个Tag来确认这个LOG是在哪一个类打印出来的。可以很方使定位
这是它的目的,
当然你有一些朋友会想使用统一TAG(整个应用都是同一个 例如:APP的名字)
也有一种折中的方式:使用模块的名称做为TAG(倒如:登录),这些具体要看你们的分式和代码的解耦的情况。
只要达成只显示需要的信息,不显示不需要的信息的要旨就可以了。
使用 Log Message
这部分选用的是消息的内容,作用为消息内容部分,这个部分如过结合正则表达式,应该也有一定的过人之处
另外如果还不能完全满足的。
最后
PS:在log 监视窗里还有可以通查找折方式去定位你想要的信息
还有一些更好的
选择Level时,可以看到有一个下拉选项。点击选项,弹出下拉框,选择你需要的Level.控制台就会过滤你想要的Level
还有,可以看到这里有一参数输入框,输入参数,会自动的替换了过滤维 度里的参数值,但是具体的优先过沾滤哪一个就不是很清楚了。
如你输入PID值 9911 那它会过滤出这PID相关 LOG,
如父输入一TAG,那它会过滤出这个TAG相关的Log