我可以从 slf4j 获得虚拟记录器吗? (想想空对象设计模式。)如果是这样,有人可以提供一个例子吗?或者,如果我想这样做,我是否必须实现自定义记录器?
我希望按照以下方式编写一个函数
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");
如果没有设置记录器,则不会在最后一行得到 NullPointerException
。
最佳答案
使用NOPLogger
:
return this.logger == null ? NOPLogger.NOP_LOGGER : this.logger;
关于java - 得到一个虚拟的 slf4j 记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389137/