我们通常都会遇到一种情况,在写完一整个程序之后,有很多用于调试日志(Log.x()),在每个文件都有的日志很影响应用发布后的性能,而且也有泄露数据的可能,一条条删除很麻烦,所以设置一个日志工具统一管理日志。
这个日志工具,主要是对原来的日志函数进行一层封装,在进行日志输出之前,进行一层判断,我们可以通过控制这层判断的级别,进而过滤输出,甚至将全部日志全部过滤掉,不输出日志。
public class LogUtil {
public static final int VERBOSE = 1;
public static final int DEBUG = 2;
public static final int INFO = 3;
public static final int WARN = 4;
public static final int ERROR = 5;
public static final int NOTHING = 6;
public static int level = VERBOSE;
public static void v(String tag, String msg){
if(level <= VERBOSE){
Log.v(tag, msg);
}
}
public static void d(String tag, String msg){
if(level <= DEBUG){
Log.d(tag, msg);
}
}
public static void i(String tag, String msg){
if(level <= INFO){
Log.i(tag, msg);
}
}
public static void w(String tag, String msg){
if(level <= WARN){
Log.w(tag, msg);
}
}
public static void e(String tag, String msg){
if(level <= ERROR){
Log.e(tag, msg);
}
}
}
原来的日志级别分为五个级别,我们使用level来进行过滤,如果小于这个级别,则进行日志操作,当我们不想输出任何日志,那么则将level设置为NOTHING,此时所有日志均不输出。