gpt4 book ai didi

java - 在Java中是否有任何直接的方法来获取和发送“当前方法名称”作为参数?

转载 作者:行者123 更新时间:2023-12-03 18:42:09 25 4
gpt4 key购买 nike

制作一个用于记录日志并提供常用方法的API。

public static void start(Class<?> clazz) throws IOException {
writeExecutionLog("Start of" + clazz.getName(), null);
}

public static void end(Class<?> clazz) throws IOException {
writeExecutionLog("End of" + clazz.getName(), null);
}


在类中,有多个调度程序以不同的方法在作业开始或结束时在start和end上方调用。

class scheduler{

public void scheduler1(){
MyService.start(methodname or class)
MyService.end(methodname or class)
}

public void scheduler2(){
MyService.start(methodname or class)
MyService.end(methodname or class)
}
}


在上面的start和end方法中,有什么简单的方法可以代替String来传递方法名称和类名称。

我想在Start和end方法中动态获取当前方法的名称,例如this.class.currentMethod?(不像geekofgeeks中提到的那样复杂的语句,如果我可以处理start()和end()中的大多数事情,那就更好了)

最佳答案

您可以生成堆栈跟踪并分析该行。它用途广泛,但价格昂贵。

public static void start() throws IOException {
writeExecutionLog("Start of" + new Throwable().getStackTrace()[1].getMethodName(), null);
}

关于java - 在Java中是否有任何直接的方法来获取和发送“当前方法名称”作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59664751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com