利用StackTraceElement设计打印Android日志

java.lang.StackTraceElement实现了接口Serializable,是堆栈跟踪中的元素,它由 Throwable.getStackTrace() 返回。每个元素表示单独的一个堆栈帧。所有的堆栈帧(堆栈顶部的那个堆栈帧除外)都表示一个方法调用。堆栈顶部的帧表示生成堆栈跟踪的执行点。通常,,这是创建对应于堆栈跟踪的 throwable 的点。构造方法信息:public StackTraceElement(String declaringClass,String methodName,String fileName,int lineNumber)参数说明:declaringClass – 类的完全限定名,该类包含由堆栈跟踪元素所表示的执行点methodName – 方法名,该方法包含由堆栈跟踪元素所表示的执行点fileName – 文件名,该文件包含由堆栈跟踪元素所表示的执行点;如果该信息不可用,则该参数为 nulllineNumber – 源代码行的行号,该代码行包含由堆栈跟踪元素所表示的执行点;如果此信息不可用,则该参数为负数。值 -2 表示包含执行点的方法是一个本机方法我们在Android开发的时候,可以利用StackTraceElement类来实现我们日志的打印格式:private void printLog() {StackTraceElement stack = (new Throwable()).getStackTrace()[1];StringBuilder builder = new StringBuilder();builder.append("<->文件:" + stack.getFileName());builder.append("行号:" + stack.getLineNumber());builder.append("<->方法:" + stack.getMethodName());builder.append("<->信息:" + paramString);Log.i("myLog", builder.toString());}如果我们通过日志来调试我们的应用,则通过查看日志,我们能找到出现问题所在的类名,行号,方法名等。

鱼儿爱美,不仅需要鳞甲之美。还需要浮沉活泼之美。

利用StackTraceElement设计打印Android日志

相关文章:

你感兴趣的文章:

标签云: