【问题标题】:Get a dummy slf4j logger?获取一个虚拟的 slf4j 记录器?
【发布时间】:2011-03-22 09:31:26
【问题描述】:

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

【问题讨论】:

    标签: java slf4j null-object-pattern


    【解决方案1】:

    使用NOPLogger:

    return this.logger == null ? NOPLogger.NOP_LOGGER : this.logger; 
    

    【讨论】:

      猜你喜欢
      • 2021-10-27
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2021-04-30
      • 1970-01-01
      • 2019-01-14
      • 2011-01-11
      相关资源
      最近更新 更多