利用线程运行栈StackTraceElement设计Android日志模块

来源:互联网 发布:72炫装修软件 编辑:程序博客网 时间:2024/05/17 00:13


如果你想在你的Android程序中自动打印MainActivity.onCreate(line:37)这种类名.方法名(行数)的日志该如何实现呢?

1.引入Java的线2.日志模块设计

Java.lang包中提供了StackTraceElement,可以用来获取方法的调用栈信息。通过调用线程函数Thread.currentThread().getStackTrace()可以获得StackTraceElement[]的堆栈数组,数组中保存了线程中的执行调用的方法。观察下面的代码:

在onCreate方法中调用getStackTrace方法获取调用栈的信息。打印的结果如下:

观察输出结果可以看出栈中先执行的方法是VM和Thread中的方法。第3条才是你调用所在的方法(调用getStackTrack的方法)。


2.日志模块设计

0 0