我一直在使用此说明获取当前正在使用的方法的名称。
currentThread().getStackTrace()[1].getMethodName()
当我开发Spring Framework或其他简单的程序时,它工作正常。 但是,它似乎在Android Studio中的工作方式不同。我得到时间而不是方法的名称。
我尝试使用此指令的原因是用于调试。我曾经使用
Log.d(TAG, "Method()");
然而,当我使用它时的问题......我应该每次都输入它的方法名称。因此,要使用相同的指令在所有不同的方法中实现此指令。我发现使用currentTrace()。但是当我在Android Studio上使用它时。我只是得到了geStackTrace'而不是当前的方法名称。
有没有办法正确实现或更好的调试方式?
答案 0 :(得分:1)
试试这个
StackTraceElement[] stacktraceObj = Thread.currentThread().getStackTrace();
stacktraceObj[1].getMethodName();
如需进一步参考,请查看链接
https://www.badprog.com/android-api-getting-the-current-method-name-with-stacktraceelement
https://developer.android.com/reference/java/lang/Throwable.html#getStackTrace()
答案 1 :(得分:1)
如果每次输入都是问题,请使用日志语句的默认实时模板。
在Windows中使用 cmd + j ( ctrl + j )并查找 logd < / strong>, logi , logw 或 loge 。
默认情况下,它会打印方法和冒号。您可以在首选项中自定义它。
还有用于创建TAG的 logt 。