想对android源代码进行调试,或者对android某个模块需要进行流程上的研究,这时候查看日志是必不可少的。
但是就系统给出的日志来说太少了,很难进行跟踪。
那么如何才能让系统给出更多的日志呢。
对源代码进行研究就好发现,源代码打印日志时,大量使用
public static booleanisLoggable(Stringtag, int level)
仔细看下API,就可以了解到,这个方法是判断对应的tag的日志级别和level的比较,如果不小于level就会打印出来。
系统几乎都是与VERBOSE这个级别进行判断,而系统默认的日志级别是
INFO。
这样的话,系统只打印INFO的信息,很多VERBOSE的信息我们就看不到了。
那么如何来改变系统一些应用的默认日志级别呢。
有两种方法,一种是创建文件/data/local.prop
log.tag.<YOUR_LOG_TAG>=<LEVEL>
前面是日志标签,后面是级别。
前面是日志标签,后面是级别。
另一种 就是在adb shell下,输入命令
setprop log.tag.<YOUR_LOG_TAG> <LEVEL>
当然想看详细日志的话 两种情况LEVEL都改为VERBOSE更好
当然想看详细日志的话 两种情况LEVEL都改为VERBOSE更好
我个人更倾向于第二张方法,比较简洁。
那么以短信为例,只需要输入
这样就可以看到VERBOSE级别的详细日志了
可能有人想问标签怎么得来的,我这个是源代码中找出来的,如果需要其他应用的标签,我以后再补到文章中。
吴冬冬 lastsweetop
——20110817