对android日志工具log的封装

本文已同时发表在本人博客,博文地址:http://msdxblog.sinaapp.com/?p=251。

android.util包里有log类,可以方便地用于在编码调试过程中打印日志。但是在发布后的产品中,如果有太多的日志打印,则会严重地影响性能。对于此问题我想到的解决思路,一是通过配置文件,二是通过条件编译。

JAVA的条件编译毕竟不是官方推出,只是用到了编译器的一些技巧,用if(false) 或 if(true) ,看着eclipse的警告毕竟不太喜欢。于是可以用另外一种方法,即配置一个参数。然后在打印日志的时候进行判断。

android.util.Log类,在其中的isLoggable方法的注释中,看到了local.prop。但是由于不知道如何才能在项目里面写一个配置文件来确定是否输出,只知道可以在命令行中adb工具里,来进行配置。这并不是我想要的,因为作为一个懒人,不想每次启动模拟器的时候都去输入那些命令,也不想去写太多的配置信息。于是根据自己的简单需求,花了点时间,对Log类进行了再次封装。

封装之后,只需要在第一个使用的地方,调用 LogUtil.setLevel()方法,设定打印日志的级别。几个打印日志的方法的使用与android.util.log没有区别。级别常量从小到大有VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT等,用于控制v,d,i,w,e五个方法是否打印日志。当设置为VERBOSE时打印所有日志,设置为ASSERT时,则不打印所有日志。

javadoc及编译之后的文件都已打包好上传到网盘。

编译后的文件及文档下载地址:http://www.ctdisk.com/file/4029890

说明:这次的封装很简单,不过是在执行Log的相关方法的时候,加入了一句判断。没有什么技术含量,但对于我来说却方便了很多。得意忘形之下决定发上来共享给有需要的人。

你可能感兴趣的:(android)