我正在做一个项目,目前正在使用 log4j 实现一些日志记录,我很好奇我应该如何实现日志。我正在讨论的两个实现如下:
第一个选项
对该类和所有子类使用超类中的单个日志:
public abstract class AbstractFoo {
protected static Log LOG = LogFactory.getLog(AbstractFoo.class);
...
}
public class Foo extends AbstractFoo {
public void someMethod() {
LOG.info("Using abstract log");
}
}
第二种选择
为每个类、超级类和子类使用单独的日志:
public abstract class AbstractFoo {
private static Log LOG = LogFactory.getLog(AbstractFoo.class);
...
}
public class Foo extends AbstractFoo {
private static Log LOG = LogFactory.getLog(Foo.class);
public void someMethod() {
LOG.info("Using own log");
}
}
什么更有意义,为什么?