我想创建一个在Log.d和Log.e输出期间打印出当前方法名称的宏。现在我只需在硬编码字符串中输入方法名称,但如果方法名称在将来发生变化,这显然效率低下,因为每个字符串都需要搜索和替换。
我知道如本帖所示使用getMethodName():
How to get method name in Java
这个看起来也很有希望:
Debugging with helper extension method
在SO上有无数这些帖子,但我想找到最好的调试方式,不会对运行时性能造成太大影响。由于我使用Eclipse,我想找到一个适合该IDE的解决方案。
答案 0 :(得分:4)
这就是我所知道的当前执行情况。
Thread current = Thread.currentThread();
StackTraceElement[] stack = current.getStackTrace();
for(StackTraceElement element : stack)
{
if (!element.isNativeMethod()) {
String className = element.getClassName();
String fileName = element.getFileName();
int lineNumber = element.getLineNumber();
String methodName = element.getMethodName();
}
}
答案 1 :(得分:0)
这是我在上面的评论中提到的一个简单但非常有用的eclipse插件:download plugin
它是一个增量构建器,因此典型的构建时间以秒为单位进行测量。将其作为名为
的新构建器<buildCommand>
添加到.project文件中
<name>org.pskink.logger.builder</name>
它应该是<buildSpec>
列表
安装:只需将其复制到plugins
文件夹并重启eclipse