日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

日志框架介绍(SLF4J及其使用)

發布時間:2025/3/12 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日志框架介绍(SLF4J及其使用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要介紹

1.日志框架基本介紹及Spring Boot中默認使用框架(SLF4J+LogBack);

2.SLF4J的使用

3.項目中日志框架統一問題

4.Spring Boot中如何實現日志框架統一問題(3的最佳實踐)

1. 日志框架基本介紹

一般情況下搭建日志框架時,搭建 日志抽象層(定義接口) + 日志實現層組合 ,項目代碼中應該使用抽象層,不應該使用日志實現類;

常見的日志框架包含:

日志抽象層JCL(2014年不再維護), SLF4Jjboss-logging

日志實現層jul(java.util.logging,jdk工具包下提供的),log4j, LogBack(log4j存在性能問題,logback是基于SLF4J抽象層編寫的實現層), log4j2 (Apache下的,功能強大,但與其他的框架整合并不廣泛)

(注:SLF4J,log4j,logback為同一個作者)

Spring框架選擇了JCL作為默認日志輸出;Spring Boot選擇的是 SLF4J + LogBack作為默認日志;

2.SLF4J框架的使用

SLF4J日志框架基本使用 (抽象層 + 實現層)

1,引入SLF4J的Jar

2,引入實現層(log4j, jul等)對應的jar

3,引入對應實現層的slf4j適配器jar (適配器jar由SLF4J提供的,編寫了SLF4J接口類的實現,不同適配器實現接口時,調用的是對應的實現層框架的方法;實現層為Logback時,不需要適配器jar,因為logback就是基于SLF4J抽象層編寫);

3. 項目中日志框架統一問題

當項目中引入多個第三方jar,而每個jar底層使用的日志選型不一樣,造成項目中日志框架混亂【Spring(commons logging)、Hibernate(jboss-logging)】

SLF4J提供的解決方案:引用第三方jar時,exclude對應的底層日志A.jar,引入由SLF4J提供的日志轉換器 B.jar(當前適配器B.jar 定義了A.jar中一摸一樣的類和方法,方法中通過調用SLF4J的API實現)

具體步驟:

  • 排除系統中其他的日志框架

  • 使用SLF4J提供的轉換器包替換要替換的日志框架

  • 引入要使用的SLF4J實現JAR

  • 4.Spring Boot中如何實現日志框架統一問題(B的最佳實踐)

    Spring Boot 中使用的默認的日志框架為 SLF4J + LogBack

  • 在spring-boot-dependencies中exclusion其他日志框架(3中1步驟)
  • Spring Boot中spring-boot-starters 依賴了 spring-boot-starter-logging,而在spring-boot-starter-logging中 定一個了log4j及jul對應的轉換包jar 及 logback對應的jar (3中的2 ,3 )
  • 總結

    以上是生活随笔為你收集整理的日志框架介绍(SLF4J及其使用)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。