标签:android message logcat warning error
做Android开发的一个重要的工具就是locat,这是代码调试,出错排除定位等必不可少的工具,也是习以为常的,
首先我就来先说一下log吧。
它属于android.util.log类。常用的打印日志的方法有5个如下
:
Log.v(tag,message) ; //verbose模式,打印最详细的信息
Log.d(tag,message) ; //debug模式,打印调试的信息
Log.i(tag,message) ; //info
Log.w(tag,message) ; //warning ,打印警告的信息
Log.e(tag,message) ; //error ,打印错误信息
其中 tag 为调试信息标签名称,也就是logcat的过滤标签,
message也就是调试的时候打印的信息,
输出信息级别 error> warn > info >debug> verbose(可作为筛选信息的参考)。
好了介绍完这些,那么问题来了(^_^)
每次想调试都要写一句什么 Log.v("tag","调试....");然后再过滤 tag,要是一个应用那么多的类这样每次都写着一句话会不会很烦?同时应用发布的时候要一句一句的隐藏掉这些log,更烦。
那么 我们可以考虑这么写:
直接写一个Log工具类:
public class MyLog {
static boolean state = true;// 如果要发布应用,直接改掉 state =false就不会有日志输出。
public static void d( String str){
if(state){
Log.i("n你的应用名称:" , str);
}
}
}
那么这样的话每次调用MyLog.d(String str)方法就可以了,同时一个应用在Logcat的过滤器里之写一个Tag 然后你的应用的整个log都会出来,是不是方便很多,而且调试模式的时候state改为true,就会有日志,发布的时候改为false所有日志就会隐藏,会不会方便很多。
如果说这样分辨不清楚是一个应用中哪个类的日志,那么有更好的方法:
public
class
MyLog {
/**
* 是否开启debug
*/
public
static
boolean
isDebug=
true
;
public
static
void
d(Class<?> clazz,String msg){
if
(isDebug){
Log.e(clazz.getSimpleName(),msg+
""
);
}
}
}
这个类比上面的那个更加好用,学过java的人都知道 clazz.getSimpleName()的作用是得到类的简体名称。那么这也更方便的区分了是哪个类的日志,更方便更清晰。
好了,到这里就应该结束了,本来log就是很简单的东西,我这里罗里吧嗦的说了这么多,其实也就是说写代码我们必须要种能省就省,内存能省就省,在看得懂的前提下代码量能省就省,,做一个环保的程序猿。
本文出自 “知行合一” 博客,请务必保留此出处http://poarry.blog.51cto.com/5970996/1570742
标签:android message logcat warning error
原文地址:http://poarry.blog.51cto.com/5970996/1570742