1. 程式人生 > >【Log】SLF4J簡單入門

【Log】SLF4J簡單入門

SLF4J介紹

  SLF4J,即簡單日誌門面(Simple Logging Facade for Java),不是具體的日誌解決方案,它只服務於各種各樣的日誌系統。按照官方的說法,SLF4J是一個用於日誌系統的簡單Facade,允許終端使用者在部署其應用時使用其所希望的日誌系統。實際上,SLF4J所提供的核心API是一些介面以及一個LoggerFactory的工廠類。從某種程度上,SLF4J有點類似JDBC,不過比JDBC更簡單,在JDBC中,你需要指定驅動程式,而在使用SLF4J的時候,不需要在程式碼中或配置檔案中指定你打算使用那個具體的日誌系統。如同使用JDBC基本不用考慮具體資料庫一樣,SLF4J提供了統一的記錄日誌的介面,只要按照其提供的方法記錄即可,最終日誌的格式、記錄級別、輸出方式等通過具體日誌系統的配置來實現,因此可以在應用中靈活切換日誌系統。

SLF4J使用

  要想使用slf4j需要引入slf4j-api-x.x.x.jar,而 slf4j-api-x.x.x.jar 它提供對外一致的API介面,其本身不提供日誌實現。要結合其他日誌系統使用

  1. slf4j-jdk14-x.x.x.jar是為java.util.logging日誌系統提供的驅動
  2. slf4j-simple-x.x.x.jar直接繫結System.err日誌系統
  3. lf4j-jcl-x.x.x.jar是為commons-logging日誌系統提供的驅動
  4. logback-classic-x.x.x.jar是為logback日誌系統提供的驅動

  這裡介紹System.err日誌系統

  • 首先新建一個maven工程,在pom檔案中引入jar包(slf4j-api-x.x.x.jar,slf4j-simple-x.x.x.jar),
pom

 

  • 測試類
Test

 

  執行結果: 

console

 

 

  備註程式碼:logger.info( " This time is {}" ,  new Date().toString());

  此方法中'{}'為佔位符,後面的引數會替換它

SLF4J介紹

  SLF4J,即簡單日誌門面(Simple Logging Facade for Java),不是具體的日誌解決方案,它只服務於各種各樣的日誌系統。按照官方的說法,SLF4J是一個用於日誌系統的簡單Facade,允許終端使用者在部署其應用時使用其所希望的日誌系統。實際上,SLF4J所提供的核心API是一些介面以及一個LoggerFactory的工廠類。從某種程度上,SLF4J有點類似JDBC,不過比JDBC更簡單,在JDBC中,你需要指定驅動程式,而在使用SLF4J的時候,不需要在程式碼中或配置檔案中指定你打算使用那個具體的日誌系統。如同使用JDBC基本不用考慮具體資料庫一樣,SLF4J提供了統一的記錄日誌的介面,只要按照其提供的方法記錄即可,最終日誌的格式、記錄級別、輸出方式等通過具體日誌系統的配置來實現,因此可以在應用中靈活切換日誌系統。

SLF4J使用

  要想使用slf4j需要引入slf4j-api-x.x.x.jar,而 slf4j-api-x.x.x.jar 它提供對外一致的API介面,其本身不提供日誌實現。要結合其他日誌系統使用

  1. slf4j-jdk14-x.x.x.jar是為java.util.logging日誌系統提供的驅動
  2. slf4j-simple-x.x.x.jar直接繫結System.err日誌系統
  3. lf4j-jcl-x.x.x.jar是為commons-logging日誌系統提供的驅動
  4. logback-classic-x.x.x.jar是為logback日誌系統提供的驅動

  這裡介紹System.err日誌系統

  • 首先新建一個maven工程,在pom檔案中引入jar包(slf4j-api-x.x.x.jar,slf4j-simple-x.x.x.jar),
pom

 

  • 測試類
Test

 

  執行結果: 

console

 

 

  備註程式碼:logger.info( " This time is {}" ,  new Date().toString());

  此方法中'{}'為佔位符,後面的引數會替換它