LogUtil log 工具类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HandsomeFuHS/article/details/60774496
在程序开发中经常会使用log打印一些信息,每次都传入tag很不方便,所以现在创建一个工具类,优点如下:

1.自动获取tag(activity名字和方法名);
2.工具类中存在开关,上线时直接关闭开关就行,不用删除具体的log;
3.打印log所在行数。

代码如下:

/**
 * Created by Administrator on 2017/3/7.
 */

public class LogUtil {
    //log开关
    private static final boolean DEBUG = true;
    private static final boolean ERROR = true;
    private static final boolean INFO = true;
    private static final boolean WARNING = true;
    private static final boolean VERBOSE = true;

    public static void d(String msg) {
        if (DEBUG) {
            Log.d(_FILE_(), getLineMethod() + " " + msg);
        }
    }

    public static void e(String msg) {
        if (ERROR) {
            Log.e(_FILE_(), getLineMethod() +  " " +msg);
        }
    }

    public static void i(String msg) {
        if (INFO) {
            Log.i(_FILE_(), getLineMethod() +  " " +msg);
        }
    }

    public static void w(String msg) {
        if (WARNING) {
            Log.w(_FILE_(), getLineMethod() +  " " +msg);
        }
    }

    public static void v(String msg) {
        if (VERBOSE) {
            Log.v(_FILE_(), getLineMethod() +  " " +msg);
        }
    }


    public static String getLineMethod() {
        StackTraceElement traceElement = ((new Exception()).getStackTrace())[2];
        StringBuffer toStringBuffer = new StringBuffer("[")
                .append(traceElement.getLineNumber()).append("|")
                .append(traceElement.getMethodName()).append("]");
        return toStringBuffer.toString();
    }

    public static String _FILE_() {
        StackTraceElement traceElement = ((new Exception()).getStackTrace())[2];
        return traceElement.getFileName();
    }

}

猜你喜欢

转载自blog.csdn.net/HandsomeFuHS/article/details/60774496
今日推荐