java – 用于动态获取当前方法名称的较短方法

前端之家收集整理的这篇文章主要介绍了java – 用于动态获取当前方法名称的较短方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Getting the name of the current executing method18
我正在寻找一种方法获取当前方法名称,而无需创建一个空白对象.有没有办法做到这一点?这将整理我们的日志记录代码.

这是我们现在所做的:

new Object() {}.getClass().getEnclosingMethod().getName(

解决方法

Thread.currentThread().getStackTrace()[1]?

由于这样,您可以检查更高级别的堆栈跟踪,您可以轻松地将其包装在帮助程序中(见下文).它还可以让您选择比方法名称更多的信息,比如文件名,行号等.

编辑助手方法可能看起来像这样(感谢@Esailija):

public static String getMethodName() {
    return Thread.currentThread().getStackTrace()[2].getMethodName();
}

猜你在找的Java相关文章