java Log4j在基类中创建日志实例
假设层次结构中的所有类都只有默认构造函数,那么下面创建日志实例的问题是什么
public abstract class AbstractService {
protected static Log log=null;
public AbstractService(){
log=LogFactory.getLog(this.getClass().getName());
}
public void foo(){
log.debug("base foo() : ");
}
}
class ServiceA extends AbstractService {
public void foo(){
super.foo();
log.debug("Overloaded foo() in ServiceA");
}
}
class ServiceB extends AbstractService {
public void foo(){
super.foo();
log.debug("Overloaded foo() in ServiceB");
}
}
# 1 楼答案
假设“log”字段是静态的(即与AbstractService类关联),则不应从构造函数(与该类的特定实例关联)设置它
您需要: