Android输出Log的包装

来源:互联网 发布:淘宝怎么打新品标 编辑:程序博客网 时间:2024/04/30 04:38

该博客已经停止更新,新博客点击此处:DevWiki的博客

一下代码是从一个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
原创粉丝点击