slf4j與log4j,slf4jlog4j

來源:互聯網
上載者:User

slf4j與log4j,slf4jlog4j

推薦使用SLF4J(Simple Logging Facade for Java)作為日誌的api,SLF4J是一個用於日誌系統的簡單Facade,允許終端使用者在部署其應用時使用其所希望的日誌系統。

1    Slf4j優勢

與使用apache commons-logging或直接使用log4j相比,SLF4J提供了一個名為參數化日誌的進階特性,可以顯著提高在配置為關閉日誌的情況下的日誌語句效能,

log.debug("Found {} records matching filter: '{}'", records, filter);//slf4j

log.debug("Found " + records + " records matching filter: '" + filter + "'");//log4j

可以看出SLF4J的優點有:更簡略易讀;在記錄層級不夠時,少了字串拼接的開銷,不會調用對象(records/filter)的toString方法。

Slf4j在1.6.0之後,更是支援了異常堆棧的列印,作為最後一個參數傳入即可,基本滿足了日誌的常見列印情境。

log.error("Failed to format {}", s, e);

2    注意Logger間的繼承關係

logger的繼承是通過命名來實現的。

子logger會預設繼承父logger的appender,將它們加入到自己的Appender中;除非加上了additivity="false",則不再繼承父logger的appender。

子logger只在自己未定義輸出層級的情況下,才會繼承父logger的輸出層級。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.