java自定义注释使用类字段

时间:2014-03-08 14:42:11

标签: java logging annotations refactoring

我遇到的情况是我需要记录一些事件,而且它们太多了。所以我希望能够做到这一点:

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中吗?

1 个答案:

答案 0 :(得分:0)

我不确定你究竟在问什么,但我可以告诉你:

如果要查看您所在方法的名称,可以随时查看当前堆栈跟踪:new Exception()。getStackTrace()。除非在调试模式下编译,否则变量名不在Java字节码中。