我想制作一个宏,在 Log.d 和 Log.e 输出期间打印出当前方法的名称。现在我只是在一个硬编码的字符串中输入方法名称,但是如果方法名称在未来发生变化,这显然是低效的,因为每个字符串都需要被搜索和替换。
我知道使用 getMethodName() 如本文所述:
这个看起来也很有希望:
SO上有无数这样的帖子,但我想找到不会过多影响运行时性能的调试目的的最佳方法。由于我使用的是 Eclipse,因此我想找到一个与该 IDE 配合良好的解决方案。
我想制作一个宏,在 Log.d 和 Log.e 输出期间打印出当前方法的名称。现在我只是在一个硬编码的字符串中输入方法名称,但是如果方法名称在未来发生变化,这显然是低效的,因为每个字符串都需要被搜索和替换。
我知道使用 getMethodName() 如本文所述:
这个看起来也很有希望:
SO上有无数这样的帖子,但我想找到不会过多影响运行时性能的调试目的的最佳方法。由于我使用的是 Eclipse,因此我想找到一个与该 IDE 配合良好的解决方案。
这是我所知道的可用于当前执行的内容。
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();
}
}
这是我在上面评论中提到的一个简单但非常有用的eclipse插件:下载插件
它是一个增量构建器,因此典型的构建时间以几分之一秒为单位。将其作为新构建器添加到您的 .project 文件中<buildCommand>
,名称为:
<name>org.pskink.logger.builder</name>
它应该是<buildSpec>
列表中的最后一个构建器
安装:只需将其复制到plugins
文件夹并重新启动eclipse