自定义日志打印

来源:互联网 发布:java 参数 编辑:程序博客网 时间:2024/06/05 20:51

Android中的日志工具类Log(android.util.Log),这个类提供了如下几个方法来提供我们打印:


1.Log.v();

这个方法用于打印那些最为琐碎的,意义最小的日志信息。对应的级别verbose,是Android日志里面级别最低的一中。

2.Log.d();

这个方法是打印一些调试信息,这些信息对你调试程序和分析问题应该有帮助的。对应的级别是debug,比verbose高一级。

3.Log.i();

这个方法是用于打印一些比较重要的数据,这些数据应该是你非常想看的。可以帮助你分析用户行为的那种。对应级别是info,比debug高一级。

4.Log.w();

这个方法用于打印一些警告信息,提示程序在这个地方可能存在潜在的风险,最好去修复一下这些出现的警告的地方。对应的级别warm,比info高一级。

5.Log.e();

这个方法是打印程序中的错误信息,比如程序中的catch语句当中,有错误信息打印的时候。对应的级别是error,比warm高一级


现在我们了解了Android的打印数据的级别,当时有这写在项目中应用还是不够的,这样在项目上线之前我们还要一个一个的将项目中的日志打印代码删除,来保护一些机密诗句不被泄露或者提高运行效率,现在我们就来设计一个既不用删除代码并且能够随意切换日志级别与是否打印的自定义的日志工具类。


package *;import android.text.TextUtils;import android.util.Log;/** *  * 日志打印工具 */public class LogUtil {    /**     * level 决定日志的显示级别,     * VERBOSE显示所有级别日志     * 显示中间个个级别的日志     * NOTHING不是显示任何日志     */    private static final int VERBOSE = 1;    private static final int DEBUG = 2;    private static final int INFO = 3;    private static final int WARN = 4;    private static final int ERROR = 5;    private static final int NOTHING = 6;    /**     * 控制打印级别     * 是否打印日志     */    private static final int LEVEL = VERBOSE;    //本项目默认tag    private static final String defaultTag = "zonglv";    public static void v(String msg){        v(null, msg);    }    public static void v(String tag, String meg){        if(TextUtils.isEmpty(tag)){            tag = defaultTag;        }        if(LEVEL <= VERBOSE){            Log.v(tag,meg);        }    }    public static void d(String msg){        d(null, msg);    }    public static void d(String tag, String msg){        if(TextUtils.isEmpty(tag)){            tag = defaultTag;        }        if(LEVEL <= DEBUG){            Log.d(tag, msg);        }    }    public static void i(String msg){        i(null, msg);    }    public static void i(String tag, String msg){        if(TextUtils.isEmpty(tag)){            tag = defaultTag;        }        if(LEVEL <= INFO){            Log.i(tag, msg);        }    }    public static void w(String msg){        w(null,msg);    }    public static void w(String tag, String msg){        if(TextUtils.isEmpty(tag)){            tag = defaultTag;        }        if(LEVEL <= WARN){            Log.w(tag, msg);        }    }    public static void e(String msg){        e(null, msg);    }    public static void e(String tag, String msg){        if(TextUtils.isEmpty(tag)){            tag = defaultTag;        }        if(LEVEL <= ERROR){            Log.e(tag, msg);        }    }}

0 0
原创粉丝点击