有没有更好的方法来获取当前类变量在java?

问题描述:

现在我正在做这样的事情:

Right now I am doing something like this:

 private static Logger logger = LoggerFactory
            .getLogger(MasterController.class);

有没有比使用类的名称(这是MasterController)更好的方法?

Is there a better way than using the name of the class (which is MasterController)? Maybe something generic?

以下链接有一个有趣的方法:

The following link has an interesting approach:

http://www.rgagnon.com/javadetails/java-0402.html

为方便起见在此贴上:

public class ClassFromStatic {

  public static void main(java.lang.String[] args) {
    someStaticMethod();
  }

  public static void someStaticMethod() {
    System.out.println
       ("I'm in " + new CurrentClassGetter().getClassName() + " class");
  }

  public static class CurrentClassGetter extends SecurityManager {
    public String getClassName() {
      return getClassContext()[1].getName();
    }
  }
}