美文网首页
Android Log日志封装

Android Log日志封装

作者: alphaZzw | 来源:发表于2020-11-19 00:06 被阅读0次

    一、简介
    为什么要对日志进行封装?

    封装前:快捷键输入loge便可打印出Log.e(TAG, "onCreate: ", );需要输入参数TAG和参数msg。 且我们可以在Logcat页面查看日志信息。

    缺点:

    (1)输入的参数较多且重复

    (2)当打印的日志信息过多时,不方便查找我们所需的信息

    (3)无法快速指定是哪一行打印出来的信息

    (4)应用发布到市场上时,需要手动一个个删除打印的日志

    封装后:只需输入你想打印的msg,使用方便。且可以在Logcat页点击类名即可跳转到相应的位置。

    二、Log具体封装

    
    import android.text.TextUtils;
    
    import android.util.Log;
    
    import com.alpha.framework.BuildConfig;
    
    public class LogUtils {
    
    static String className;//类名
    
        static String methodName;//方法名
    
        static int lineNumber;//行数
    
        private static String createLog(String log) {
    
    StringBuffer buffer =new StringBuffer();
    
            buffer.append("================");
    
            buffer.append(methodName);
    
            buffer.append("(").append(className).append(":").append(lineNumber).append(")================:");
    
            buffer.append(log);
    
            return buffer.toString();
    
        }
    
    /**
    
    * 获取文件名、方法名、所在行数
    
    *
    
        * @param sElements
    
        */
    
        private static void getMethodNames(StackTraceElement[]sElements) {
    
    className =sElements[1].getFileName();
    
            methodName =sElements[1].getMethodName();
    
            lineNumber =sElements[1].getLineNumber();
    
        }
    
    //log.i
    
        public static void i(String text) {
    
    if (BuildConfig.LOG_DEBUG) {
    
    if (!TextUtils.isEmpty(text)) {
    
    getMethodNames(new Throwable().getStackTrace());
    
                    Log.i(className, createLog(text));
    
                }
    
    }
    
    }
    
    //log.e
    
        public static void e(String text) {
    
    if (BuildConfig.LOG_DEBUG) {
    
    if (!TextUtils.isEmpty(text)) {
    
    getMethodNames(new Throwable().getStackTrace());
    
                    Log.e(className, createLog(text));
    
                }
    
    }
    
    }
    
    }
    
    

    相关文章

      网友评论

          本文标题:Android Log日志封装

          本文链接:https://www.haomeiwen.com/subject/jpzhiktx.html