一、slf4j依賴介紹
SLF4J指的是Simple Logging Facade for Java,是Java各種log框架(log4j、jdklog、logback)的抽象門面,它可以用來整合現有的所有的Java日誌框架,提供了一種統一的日誌介面,方便日誌框架的切換和管理。
在使用SLF4J進行操作時,需要引入兩個jar包,分別是slf4j-api和slf4j具體實現的jar包(例如:log4j-over-slf4j、jcl-over-slf4j、jul-to-slf4j、logback-classic)。
slf4j-api是SLF4J日誌門面介面的Java文件,使用該介面是必需的,而slf4j的具體實現jar包是將slf4j底層的Api實現自注入的日誌框架。
二、為什麼要使用SLF4J
1、在使用java log框架時,往往有很多代碼是依賴於具體的某個日誌框架進行編寫的,所以一旦需要更換日誌框架,將會變得非常麻煩。而SLF4J最大的好處是將日誌代碼從具體的日誌框架中解耦出來,因此我們可以只通過使用SLF4J介面進行操作,而不關心具體的日誌實現,方便對日誌框架進行更換。
2、SLF4J擁有非常簡易的API,同時又具夠足夠的靈活性來支持按照開發者的需求進行擴展。
3、SLF4J還支持多種參數化輸出方式,可以大大地減小拼接字元串的開銷,提供了多種方法來處理日誌級別,方便日誌的輸出與管理。
三、SLF4J的具體使用
1、slf4j的日誌級別
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Logger logger = LoggerFactory.getLogger(SomeClass.class);
logger.trace("trace message");
logger.debug("debug message");
logger.info("info message");
logger.warn("warn message");
logger.error("error message");
2、slf4j的佔位符寫法(避免後期產生大量的字元串拼接操作)
Object[] params = { "helloworld", new Integer(18) };
logger.info("hello {}, i'm {} years old.", params);
3、使用slf4j-maven-plugin列印編譯執行時間
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<timestampFormat>yyyyMMdd</timestampFormat>
<revisionOnScmFailure>unknown</revisionOnScmFailure>
<useLastCommittedRevision>false</useLastCommittedRevision>
<appendHgChangesTo>BUILD_INFO</appendHgChangesTo>
</configuration>
</plugin>
<plugin>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-maven-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>test-broadcast</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
四、如何引入slf4j依賴包
以常用的maven方式進行工程中引入:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.log4j-over-slf4j.version}</version>
</dependency>
五、總結
本文詳細介紹了SLF4J日誌框架,並從多個方面進行了闡述,包括:SLF4J的介紹、為什麼要使用SLF4J、SLF4J的具體使用、如何引入SLF4J依賴包等。在實際開發過程中,使用SLF4J可以很好地解決依賴具體框架、易於擴展等問題,是一個非常值得推薦的日誌框架。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245761.html
微信掃一掃
支付寶掃一掃