您的位置:首页 > 移动开发 > Android开发

android学习——定制自己的日志工具

2015-05-14 23:23 417 查看
Android中自带的日志工具功能非常强大,但也不能说完全没有缺点,例如在打印日志的控制方面就做的不够好。

所以我们在编写一个比较庞大的项目,期间为了方便调试,能够自由地控制日志的打印,而且不费力气呢?第一行代码里面是这样写的一个LogUtil类,代码如下:

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 final 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.v(tag,msg);
 		}
   	  }
	  public static void e(String tag, String msg){

		if (LEVEL <= ERROR){
			Log.e(tag,msg);
 		}
   	  }
}


这样就把一个自定义的日志工具创建好了,之后在项目里我们可以像使用普通的日志工具一样使用LogUtil,比如打印一行DEBUG级别的日志就可以这样写:

LogUtil.d("TAG", "warn log");

打印一行WARN级别的日志就可以这样写:

Log.w("TAG", "warn log");

然后我们只需要修改LEVEL常量的值,就可以自由地控制日志的打印行为了。比如让LEVEL等于VERBOSE就可以把所有的日志打印出来,

让LEVEL等于WARN就可以只打印警告以上级别的日志,让LEVEL等于NOTHING就可以把所有的日志都屏蔽掉。

使用了这种方法之后,你只需在开发阶段将LEVEL指定成VERBOSE,当项目正式上线的时候将LEVEL指定成NOTHING就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: