问题
Can I get a dummy logger from slf4j? (Think the null object design pattern.) If so, can someone provide an example? Or will I have to implement a custom logger if I want to do that?
I'm hoping to write a function along the lines of
private Logger logger;
static Logger nullLogger;
static {
nullLogger = getMeADummyLogger();
}
public Logger getLogger() {
return this.logger == null ? nullLogger : this.logger;
}
// then, elsewhere:
this.getLogger().info("something just happened");
and not get a NullPointerException
on that last line if no logger has been set.
回答1:
Use NOPLogger:
return this.logger == null ? NOPLogger.NOP_LOGGER : this.logger;
来源:https://stackoverflow.com/questions/5389137/get-a-dummy-slf4j-logger