本文介紹了買個假的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記錄器?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,