是應該是用 Log 還是 Logger 來定義 Log

我們都知道在當前的情況下使用 slf4j 來定義日誌基本上都是標配了。

如果下面的語句:

private static final Logger logger = LoggerFactory.getLogger(Dom4JParserUnitTest.class);

但是有時候,我們還會遇到

Log log = LogFactory.getLog(CLASS.class);

這個語句。

上面 2 個語句有什麼不同呢?

解答

最主要的不同是使用的 API 不同,LogFactory 是 commons-logging 的 API。

這個 API 已經有多年沒有更新了。

 

apache-log-01

 

雖然可能還有不少項目,目前還在使用中,但是如果可能的話,還是儘量使用 slf4j 的 API 吧。

如果你想寫成:

private static final Logger log= LoggerFactory.getLogger(Dom4JParserUnitTest.class);

這樣可以嗎?

當然是可以的,只是後面的你的使用就只能用 log 了,這個可能會與 LogFactory 中定義的 log 搞混。

 

logger-01

 

所以很多項目的日誌,如果使用了 slf4j 的話,通常都會使用 logger。

 

https://www.ossez.com/t/log-logger-log/13756

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章