我正在使用Java util Logger。根据Logger.getLogger方法的文档说,“为命名子系统查找或创建记录器。如果已经创建了具有给定名称的记录器,则将其返回。否则将创建一个新的记录器。”每个类(class)只叫一次会不会有任何好处呢?
选项1:
public class Myclass
static Logger logger = Logger.getLogger(Myclass.class);
public void method1() {
logger.log(...);
}
public void method2() {
logger.log(....);
}
}
选项2:
public class Myclass {
public void method1() {
Logger.getLogger(Myclass.class).log(...);
}
public void method2() {
Logger.getLogger(Myclass.class).log(...);
}
}
最佳答案
有两个非常不重要的原因,为什么拥有一个静态(可能是最终的)实例比一直调用getLogger
更好。
Logger.getLogger
,您将付出很小的性能损失。除非您在一个紧密的循环中调用了数百万次,否则不必担心,但是它就在那里。 也就是说,个人偏爱远比这两个原因中的任何一个都重要。选项1是一种常见方法,但是如果您更喜欢选项2,则一定要使用它。不会伤害您的代码。
关于java - 每次需要时使用Logger.getLogger()或每个类创建一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6222365/