读书人

Android系统开发中LOG的输出与运用

发布时间: 2013-02-06 14:02:21 作者: rapoo

Android系统开发中LOG的输出与使用
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在平时开发过程中经常需要与log打交道,所以很有必要了解log的使用方法及简单的原理。


1、linux内核的log输出
在标准的linux内核开发过程中,使用 printk ,这是一个与printf输出打印齐名的函数,同样提供格式化输出功能,只是其有
打印级别且将信息保存到 /proc/kmsg 日志中,使用cat命令查看其信息[cat /proc/kmsg]


5、常用技巧
1、logcat中会打印 【输出级别 + LOG_TAG名字 + 进程字 + 打印的信息】可以充分利用这些信息分析问题
I/SystemServer( 939): Activity Manager
I/ActivityManager( 939): Memory class: 96
E/AndroidRuntime( 939): Error reporting WTF

第一列由 Log.i(e/w..决定) 或者 LOGI/LOGE/LOGW...
第二列由 LOG_TAG / TAG(JAVA)中决定,可以对于同一组模块前相同的前缀 [xxx]funtion 这种命名
第三列是系统进程号 getpid() 这值,打印线程值 pthread_slef()
最后的就是自行增加的打印信息

2、调效效率或者执行时间
1、建议重点的打印增加前缀,方便查找。以[######]
2、直接利用logcat输出时间,调试执行速度,分析效率

logcat -v time 【Display the date, invocation time, priority/tag, and PID of the originating process.】


读书人网 >Android

热点推荐