一、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