tinylog簡介
tinylog,與其他各種tiny開頭的東西一樣,是一個輕量級的開源日誌解決方案。它本身只包含兩個JAR檔案(一個用於API,另一個用於實現),沒有任何外部依賴關係。兩個JAR檔案的總大小隻有178KB。
雖然是一個輕量級級別方案,但我們常用的基本日誌管理功能都非常完備,它擁有與其他熱門日誌框架類似的API設計、多種可配置的日誌輸出選項、效能方面也是非常的出彩(這是官方給出的Benchmark)。
今天我們就來學習一下,如何在Spring Boot中使用tinylog記錄日誌。
整合tinylog
通過之前Spring Boot 2.x基礎教程:使用log4j2記錄日誌 一文的學習,回憶一下,整合其他日誌框架,是不是可以總結為這樣幾步:
- 排除Spring Boot預設日誌框架依賴
- 引入要使用的日誌框架依賴
- 加入新日誌框架的配置檔案
好了,我們就按這個步驟來實戰一下:
第一步:排除Spring Boot預設日誌框架依賴
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
第二步:引入tinylog的依賴
<properties>
<tinylog.version>2.4.1</tinylog.version>
</properties>
<dependencies>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-api</artifactId>
<version>${tinylog.version}</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-impl</artifactId>
<version>${tinylog.version}</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>slf4j-tinylog</artifactId>
<version>${tinylog.version}</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>jcl-tinylog</artifactId>
<version>${tinylog.version}</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>log4j1.2-api</artifactId>
<version>${tinylog.version}</version>
</dependency>
</dependencies>
測試與驗證
到這裡,基本整合已經完成了。我們不著急去對tinylog做詳細配置,先驗證下到這裡是否都已經正確。跟之前的日誌整合例子一樣,寫個主類列印下各個級別的日誌。
@Slf4j
@SpringBootApplication
public class Chapter83Application {
public static void main(String[] args) {
SpringApplication.run(Chapter83Application.class, args);
log.error("Hello World");
log.warn("Hello World");
log.info("Hello World");
log.debug("Hello World");
log.trace("Hello World");
}
}
這裡用了lombok的@Slf4j
,如果還不瞭解的建議讀一下這篇:Lombok:讓JAVA程式碼更優雅
執行一下,從控制檯可以看到輸出內容如下:
通過debug,我們可以看到此時的log已經是TinylogLogger
了
第三步:加入tinylog的配置檔案
通過上一步,我們雖然已經完成了整合,但是上面的格式,是你想要的嗎?加入配置調整一下!
在resources目錄下建立檔案:tinylog.properties
加入下面的配置:
writer=console
writer.format={date: HH:mm:ss.SSS} {level}: {message}
重新執行測試,控制檯輸出是不是好看一些了
更多配置,比如:檔案輸出、級別控制等這裡就不詳細說了,大家可以檢視官方文件,基本上與其他框架都是類似的,很容易配置。
好了,今天的學習就到這裡!如果您學習過程中遇到困難,可以加入我們超高質量的Spring技術交流群 ,參與交流與討論,更好的學習與進步!更多Spring Boot教程可以點選直達! ,歡迎收藏與轉發支援!
程式碼示例
本文的完整工程可以檢視下面倉庫中2.x
目錄下的chapter8-3
工程:
- Github:https://github.com/dyc87112/SpringBoot-Learning/
- Gitee:https://gitee.com/didispace/SpringBoot-Learning/
如果您覺得本文不錯,歡迎Star
支援,您的關注是我堅持的動力!
歡迎關注我的公眾號:程式猿DD。第一時間瞭解前沿行業訊息、分享深度技術乾貨、獲取優質學習資源