Android输出log的包装

来源:互联网 发布:java如何获取访问者ip 编辑:程序博客网 时间:2024/05/01 21:23

本文中的log包装来源于github一个项目中,具体位置我给忘了.经过此包装后可以方便查看到log所在的类名,方法名,行数等信息.

public class DLog {    static String className;    static String methodName;    static int lineNumber;         private DLog(){        /* Protect from instantiations */    }     public static boolean isDebuggable() {        return BuildConfig.DEBUG;    }     private static String createLog( String log ) {                 StringBuffer buffer = new StringBuffer();        buffer.append("[");        buffer.append(methodName);        buffer.append(":");        buffer.append(lineNumber);        buffer.append("]");        buffer.append(log);         return buffer.toString();    }         private static void getMethodNames(StackTraceElement[] sElements){        className = sElements[1].getFileName();        methodName = sElements[1].getMethodName();        lineNumber = sElements[1].getLineNumber();    }     public static void e(String message){        if (!isDebuggable()){            return;        }         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));    }}


0 0
原创粉丝点击