如何从静态方法中捕获调用类名称

时间:2018-01-24 22:41:28

标签: java static

我有3个类,2个服务层类正在调用实用程序类。是否有可能从方法中找到调用我的静态方法的类的名称,或者在那时为时已太晚了?

当我打电话给我时,我不想通过课程,因为我觉得我应该能够推断出这一点,并希望确保没有错误的余地。就像传递了错误的类或者传递了null一样。

这可能吗?

// ClassA.java
public void doSomething(){
    // Logic ...
    ClassC.invoke();
}

// ClassB.java
public void doSomethingElse(){
    ClassC.invoke();
    // Logic ...
}

// ClassC.java
private static final Logger LOGGER = LoggerFactory.getLogger(ClassC.class);

public static void invoke(){
    String callingClass = // findClassingClassName 
    LOGGER.info("ClassC::invoke was called by: {} @ {}", callingClass, LocalDateTime.now());
}

0 个答案:

没有答案