场景:在Android开发的时候我们难免会有很多的日志打印。随着项目的不断的扩大日志量也变大了。但是等所有的测试都完成的时候这些日志是不需要的,这个时候问题就出现了。怎么快速的屏蔽这些日志。
解决方法:作为一个Java学了几年的人了,抽离封装的思想基本上要贯穿于我们每次开发中,不管用什么框架我们都不能直接使用该框架,而是将这个框架抽离出一层。
- 抽离我们的Log日志
- 在抽离层加上标记位,来标识我们是否要屏蔽我们的日志
import android.util.Log;
/**
* @function 动态的显示日志信息
* @author meng
*/
public class LogUtils {
private final static boolean DEBUG = true;
public static void v(String tag, String msg) {
if (DEBUG) {
Log.v(tag, checkMsg(msg));
}
}
public static void v(String tag, String msg, Throwable tr) {
if (DEBUG) {
Log.v(tag, checkMsg(msg), tr);
}
}
public static void d(String tag, String msg) {
if (DEBUG) {
Log.d(tag, checkMsg(msg));
}
}
public static void d(String tag, String msg, Throwable tr) {
if (DEBUG) {
Log.d(tag, checkMsg(msg), tr);
}
}
public static void i(String tag, String msg) {
if (DEBUG) {
Log.i(tag, checkMsg(msg));
}
}
public static void i(String tag, String msg, Throwable tr) {
if (DEBUG) {
Log.i(tag, checkMsg(msg), tr);
}
}
public static void w(String tag, String msg) {
if (DEBUG) {
Log.w(tag, checkMsg(msg));
}
}
public static void w(String tag, String msg, Throwable tr) {
if (DEBUG) {
Log.w(tag, checkMsg(msg), tr);
}
}
public static void w(String tag, Throwable tr) {
if (DEBUG) {
Log.w(tag, tr);
}
}
public static void e(String tag, String msg) {
if (DEBUG) {
Log.e(tag, checkMsg(msg));
}
}
public static void e(String tag, String msg, Throwable tr) {
if (DEBUG) {
Log.e(tag, checkMsg(msg), tr);
}
}
private static String checkMsg(String msg) {
return msg == null ? "null" : msg;
}
}