我遇到的情况是我需要记录一些事件,而且它们太多了。所以我希望能够做到这一点:
class S{
Logger logger = Logger.getLogger(S.class)
// default logger annotation to print
// >> [info] 'method void foo(A) was invoked'
@Log
void foo(A x){
/*...*/
}
// a specified comment to log
// >> [info] 'message to log'
@Log("message to log")
void foo(A x){
/*...*/
}
}
然后我需要一个自定义注释。如您所见,我需要能够动态访问变量并获取方法名称。这可能在Java中吗?
答案 0 :(得分:0)
我不确定你究竟在问什么,但我可以告诉你:
如果要查看您所在方法的名称,可以随时查看当前堆栈跟踪:new Exception()。getStackTrace()。除非在调试模式下编译,否则变量名不在Java字节码中。