91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

項目引入log4j而不是logback代碼的原因

發布時間:2020-11-02 15:57:39 來源:億速云 閱讀:171 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關項目引入log4j而不是logback代碼的原因,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

什么是slf4j

SLF4J,即簡單日志門面(Simple Logging Facade for Java),不是具體的日志解決方案,它只服務于各種各樣的日志系統。按照官方的說法,SLF4J是一個用于日志系統的簡單Facade,允許最終用戶在部署其應用時使用其所希望的日志System。

為什么使用slf4j

上面已經介紹了slf4j,那么至于為什么使用它。Slf4j可以看成是接口,那么既然是接口,實現在哪里呢?實現就是基于你自己的系統需要引入什么日志。我這里使用了log4j作為slf4j的實現。那么就可以通過slf4j來輸出日志。

slf4j的解耦

試想一下,如果你使用了第三方的類庫,那么比如別人使用了java.util.logging.Logger這個類庫系統,那么你的項目使用的是log4j日志系統,你是不是要重新引入2種日志系統呢?那現在就有人為了解決這個問題,就提供了slf4j這個日志接口類庫。你只要使用slf4j就可以了,至于你系統使用什么類庫作為我的實現,我不管。那么這樣問題就解決了,這也符合java的面向對象編程。

代碼部分,由于sprintboot 默認使用logback,如果想用log4j, 需要排除掉logback的jar,引入log4j 的jar

項目引入log4j而不是logback代碼的原因

看看依賴

<dependencies>
    <!--slf4j和log4j日志交換包-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    <!--log4j包-->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <!--排除logback包 -->
      <exclusions>
        <exclusion>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
        </exclusion>
        <exclusion>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

測試,生效的是log4j:

項目引入log4j而不是logback代碼的原因

如果還原依賴:

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

測試結果,看到用的是logback:

項目引入log4j而不是logback代碼的原因

反正是就要引入這些包, 但是slf4j-api已經在springboot-web里了。所以我的代碼中沒有再引入。

//slf4j包
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.8.0-beta2</version>
</dependency>
//slf4j和log4j日志交換包
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.8.0-beta2</version>
</dependency>
//log4j包
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.17</version><dependency>

最后講一下用intellij看依賴:

在pom.xml 鼠標右鍵

項目引入log4j而不是logback代碼的原因

項目引入log4j而不是logback代碼的原因

以上就是項目引入log4j而不是logback代碼的原因,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗江县| 康马县| 枣强县| 大埔县| 宁明县| 南溪县| 柳河县| 武邑县| 万源市| 闻喜县| 闵行区| 东阿县| 榆树市| 安国市| 平南县| 无棣县| 台南市| 会同县| 高唐县| 新丰县| 浮山县| 旺苍县| 井陉县| 皮山县| 罗江县| 武平县| 若尔盖县| 武夷山市| 福州市| 瑞昌市| 夏河县| 南康市| 盘山县| 西昌市| 九寨沟县| 垣曲县| 纳雍县| 运城市| 罗定市| 淮滨县| 玉林市|