fef*_*ffi 9 java static scope self
我正在以静态上下文的方式寻找JAVA中当前类的"自我"引用,就像在PHP Scope Resolution Operator中一样?
解决方案:超出范围?请注意,这与静态定义相比真的很慢(乘以300):
static Logger LOG = LoggerFactory.getLogger(new RuntimeException().getStackTrace()[0].getClassName());
Run Code Online (Sandbox Code Playgroud)
老式的方式是:
static Logger LOG = LoggerFactory.getLogger(<Classname>.class.getName());
Run Code Online (Sandbox Code Playgroud)
还有其他选择吗?我正在寻找一种将记录器定义放在抽象类中的方法.记录器应该确定它自己调用的类.
Pet*_*rey 13
稍快一点
static final Logger LOG = LoggerFactory.getLogger(
Thread.currentThread().getStackTrace()[0].getClassName());
Run Code Online (Sandbox Code Playgroud)
如果你这样做了1000次,那么使用Class.class.getName()需要36 ms,而这样做需要60 ms.也许它不值得担心太多.;)