我有这个父抽象类,它定义了一个 Apache 记录器静态对象。像这样的东西:
import org.apache.log4j.Logger;
public abstract class A {
private final static Logger logger;
(...)
}
我知道这段代码是非法的,因为记录器对象没有初始化。问题是我不想用 logger = Logger.getLogger(A.class); 初始化它 因为我希望每个子类都使用自己的类对象对其进行初始化,这样我就可以知道哪个类导致了哪个错误。
但同时我想在基类 A 中包含一些我的日志记录方法。
对此的最佳做法是什么?我应该用 A.class 初始化它,然后为每个子类重新实例化它吗?不知何故,这对我来说感觉不正确。