美文网首页
封装一个好用的LogUtils工具类

封装一个好用的LogUtils工具类

作者: 子琦_2018 | 来源:发表于2018-05-11 15:59 被阅读0次

    前段时间封装了一个LogUtils的工具类,每次写项目,都会或多或少的修改一点,渐渐的改成了目前的样子,分享如下:

    public class LogUtils {

    static StringclassName;//类名

            static StringmethodName;//方法名

            static int lineNumber;//行数

            private static boolean isdebug =true;  //控制是否打印日志

            private LogUtils(){

    /* Protect from instantiations */

            }

    public static boolean isDebuggable() {

    return isdebug;

            }

    private static StringcreateLog( String log ) {

    StringBuffer buffer =new StringBuffer();

                buffer.append(log);

                return buffer.toString();

            }

    private static void getMethodNames(StackTraceElement[] sElements){

    className = sElements[1].getFileName();

                StringBuffer buffer =new StringBuffer();

                className = buffer.append("(").append(className).append(":").append(lineNumber).append(")").toString();

                methodName = sElements[1].getMethodName();

                lineNumber = sElements[1].getLineNumber();

            }

    public static void e(String message){

    if (!isDebuggable())

    return;

                // Throwable instance must be created before any methods

                getMethodNames(new Throwable().getStackTrace());

                Log.e(className, createLog(message));

            }

    public static void i(String message){

    if (!isDebuggable())

    return;

                getMethodNames(new Throwable().getStackTrace());

                Log.i(className, createLog(message));

            }

    public static void d(String message){

    if (!isDebuggable())

    return;

                getMethodNames(new Throwable().getStackTrace());

                Log.d(className, createLog(message));

            }

    public static void v(String message){

    if (!isDebuggable())

    return;

                getMethodNames(new Throwable().getStackTrace());

                Log.v(className, createLog(message));

            }

    public static void w(String message){

    if (!isDebuggable())

    return;

                getMethodNames(new Throwable().getStackTrace());

                Log.w(className, createLog(message));

            }

    public static void wtf(String message){

    if (!isDebuggable())

    return;

                getMethodNames(new Throwable().getStackTrace());

                Log.wtf(className, createLog(message));

            }

    }

    打印出来的效果就是这样子哦:

    点击蓝色字体可以直接定位到当前java所在行数

    相关文章

      网友评论

          本文标题:封装一个好用的LogUtils工具类

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