1.前言
在平常的Android开发中,为了方便解决bug,优化代码性能,会在代码中合理的输出log,以此来测试代码的执行过程。
为了更好的管理log,并便于分析代码,我们需要将log进行统一管理。
2.Log工具类
(1)LogUtil.java :
import android.util.Log;
/**
* Created by zhaoying on 16-12-30.
* TODO
*/
public class LogUtil {
//通过DEBUG来控制Log是否输出,可以减少不必要的资源消耗
public static final boolean DEBUG = true;
//通过TAG可以自定义log输出类别
public static void i(String TAG,String msg){
if(DEBUG){
Log.i("zy",TAG+" >>>>>>>> "+msg);
}
}
public static void d(String TAG,String msg){
if(DEBUG){
Log.d("zy",TAG+" >>>>>>>> "+msg);
}
}
public static void v(String TAG,String msg){
if(DEBUG){
Log.v("zy",TAG+" >>>>>>>> "+msg);
}
}
public static void w(String TAG,String msg){
if(DEBUG){
Log.w("zy",TAG+" >>>>>>>> "+msg);
}
}
public static void e(String TAG,String msg){
if(DEBUG){
Log.e("zy",TAG+" >>>>>>>> "+msg);
}
}
public static void e(String TAG,String msg,Exception e){
if(DEBUG){
Log.e("zy",TAG+" >>>>>>>> "+msg+", error: "+e.toString());
}
}
}
(2)通过log输出堆栈信息
//输出代码具体的调用
Log.d(TAG, Log.getStackTraceString(new Throwable()));
//获取当前线程的堆栈
for (StackTraceElement i : Thread.currentThread().getStackTrace()) {
Log.i(TAG, i.toString());
}