码迷,mamicode.com
首页 > 移动开发 > 详细

利用StackTraceElement设计打印Android日志

时间:2015-04-07 15:48:45      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:android开发   日志   log   

    java.lang.StackTraceElement实现了接口Serializable,是堆栈跟踪中的元素,它由 Throwable.getStackTrace() 返回。每个元素表示单独的一个堆栈帧。所有的堆栈帧(堆栈顶部的那个堆栈帧除外)都表示一个方法调用。堆栈顶部的帧表示生成堆栈跟踪的执行点。通常,这是创建对应于堆栈跟踪的 throwable 的点。构造方法信息:
public StackTraceElement(String declaringClass,
                         String methodName,
                         String fileName,
                         int lineNumber)
参数说明:
declaringClass - 类的完全限定名,该类包含由堆栈跟踪元素所表示的执行点
methodName - 方法名,该方法包含由堆栈跟踪元素所表示的执行点
fileName - 文件名,该文件包含由堆栈跟踪元素所表示的执行点;如果该信息不可用,则该参数为 null
lineNumber - 源代码行的行号,该代码行包含由堆栈跟踪元素所表示的执行点;如果此信息不可用,则该参数为负数。值 -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日志

标签:android开发   日志   log   

原文地址:http://blog.csdn.net/true100/article/details/44919323

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!