关于android的log函数我要说的
第一次用写android应用程序的时候,觉得android的log输出非常不习惯,为啥?因为还要导入一个日志输出包,日志居然不是系统默认就有的。直到半年之后我才习惯这种日志输出方式。
其实关于android的日志有很多知识,但是真的有必要纠结吗?我只是想打印日志而已,管他什么缓冲区,什么优先级。
这是我的观点:关于日志,我们只需要知道log的几个方法各自打印出什么信息就行了。
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");
2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择;
3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息;
4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息;
5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了;
如果只是跟踪自己代码的话,上面五个都可以乱用,一般是用log.i因为他本身就是打印一般信息的,如果你觉得红色醒目,那就可以用log.e他本身是用来打印错误信息的,因为他很醒目,用来打印你特别关注的信息也没问题。但是他们说这样习惯不好,至于为什么,我也不知道,程序设计中有太多的无理由束缚,对于我自己刚开始一直用的log.i最近良心发现还是用log.d,他原本是bug调试用的。
截个图来看看这五种方法到底什么颜色吧:
我想说的是喜欢什么颜色就选哪个吧,实在是没有必要太纠结,一个log而已,没人觉得你把log使用好了就是高手,没使用好也未必就是低手。