I am using Java util Logger. According to the documentation for Logger.getLogger method, it says, "Find or create a logger for a named subsystem. If a logger has already been created with the given name it is returned. Otherwise a new logger is created.". Would there still be any benefit in calling it only once per class?
Option 1:
public class Myclass
static Logger logger = Logger.getLogger(Myclass.class);
public void method1() {
logger.log(...);
}
public void method2() {
logger.log(....);
}
}
Option 2:
public class Myclass {
public void method1() {
Logger.getLogger(Myclass.class).log(...);
}
public void method2() {
Logger.getLogger(Myclass.class).log(...);
}
}
static
- in most cases it's fine, but if you're writing library code then you could consider making it non-static
. You get a per-instantiation cost of making the call toLogger.getLogger
but that's going to be negligible. – Lieberman