父类中的java日志记录静态方法
我有一个抽象类Parent,有两个子类A和B。Parent有一个静态方法do()。我想知道是否有一种方法可以让该静态方法在类a的Logger中添加日志信息(当它被称为a.do()时),以及在类B的Logger中添加日志信息(当它被称为B.do()时)。照常
protected final Logger LOGGER = Logger.getLogger(getClass());
不会工作,因为do()是一个静态方法,所以记录器也需要是静态的,但是getClass()方法显然不是静态的
谢谢
# 1 楼答案
最佳实践是声明记录器为静态,例如
通过这种方式,您可以使用动态和静态方法中的记录器
此外,每个类都应该有自己的记录器实例。所以我会改成私人
此外,你应该调用“MyApp.class”,而不是调用“getClass()”
# 2 楼答案
private final static Logger LOGGER = Logger.getLogger(A.class);
每个类都有自己的
logger
:指定类就可以了# 3 楼答案
我不推荐,但如果你真的想要的话