«

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

时间:2024-3-2 17:17     作者:韩俊     分类: Android


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.v(tag,msg);
        }
        }

     public static void i(String tag, String msg){

        if (LEVEL <= INFO){
            Log.v(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.v(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就可以了。


标签: android

热门推荐