本文介绍了买个假的slf4j记录器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以从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; 

这篇关于买个假的slf4j记录器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 09:07