国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

23、springboot日志使用入門(mén)-- SLF4J+Logback 實(shí)現(xiàn)(springboot默認(rèn)的日志實(shí)現(xiàn)),日志打印到控制臺(tái)及日志輸出到指定文件

這篇具有很好參考價(jià)值的文章主要介紹了23、springboot日志使用入門(mén)-- SLF4J+Logback 實(shí)現(xiàn)(springboot默認(rèn)的日志實(shí)現(xiàn)),日志打印到控制臺(tái)及日志輸出到指定文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

springboot日志使用入門(mén)

★ 典型的Spring Boot日志依賴(lài):

 spring-boot-start.jar   
     -- spring-boot-starter-logging.jar (Spring Boot的日志包)
          -- logback(core、classic)
          -- log4j-to-slf4j.jar
          -- jul-to-slf4j.jar

就是springboot的默認(rèn)的日志依賴(lài)實(shí)現(xiàn)。創(chuàng)建項(xiàng)目的時(shí)候存在這個(gè)依賴(lài)?yán)锩妗?
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

★ Java領(lǐng)域的日志框架可分為:

▲ 門(mén)面類(lèi)(抽象層):SLF4J、JCL(Apache commons logging)、JBoss Logging

▲ 日志實(shí)現(xiàn):Log4j、Log4j2、Logback、JUL(JDK內(nèi)置的java.util.logging)

推薦應(yīng)用程序面向日志門(mén)面編程,以便底層可以在不同的日志實(shí)現(xiàn)之間自由切換。

項(xiàng)目中的日志框架,通常是兩個(gè):日志門(mén)面(抽象)+ 日志實(shí)現(xiàn)

★ Spring Boot的日志設(shè)計(jì)

下面的日志實(shí)現(xiàn)就是基于 SLF4J+Logback
SLF4J+Logback:SLF4J是門(mén)面,Logback是實(shí)現(xiàn)

▲ Spring Boot日志采用如下組合:

- SLF4J+Logback:SLF4J是門(mén)面,Logback是實(shí)現(xiàn)

▲ 由于Spring Boot要整合大量其他框架,這些框架底層可能采用了各種不同的日志實(shí)現(xiàn),
    因此Spring Boot需要將這些日志全部“路由”給SLF4J(把所有日志統(tǒng)一交給SLF4J來(lái)輸出),
    以后開(kāi)發(fā)者就只需要設(shè)置SLF4J的日志即可。

   因此還需要
   - log4j-to-slf4j.jar:它負(fù)責(zé)將Log4j日志路由到SLF4J。
   - jul-to-slf4j.jar:負(fù)責(zé)將JUL日志路由到SLF4J。


 【說(shuō)明】:當(dāng)你項(xiàng)目用了Spring Boot之后,Spring boot會(huì)負(fù)責(zé)將所有第三方框架日志都路由給SLF4J,
        開(kāi)發(fā)者就只需要配置SLF4J日志,即可對(duì)所有的日志進(jìn)行全盤(pán)控制。

 【注意】:將Spring Boot應(yīng)用部署到服務(wù)器上,JUL生成的日志將不再路由到Spring Boot應(yīng)用的日志。
         ——由于應(yīng)用服務(wù)器底層往往都使用JUL日志,由于應(yīng)用服務(wù)器本身、及服務(wù)器上可能部署了其他應(yīng)用的日志
         這些日志當(dāng)然與我們Spring Boot應(yīng)用無(wú)關(guān),所以Spring Boot默認(rèn)不會(huì)將這些日志路由到SLF4J上。


 【總結(jié)】 Spring Boot統(tǒng)一了Java領(lǐng)域的所有框架所可能用到的日志實(shí)現(xiàn),并將這些日志全部“路由”給SLF4J來(lái)管理,
          因此開(kāi)發(fā)者只要管理SLF4J日志,即可對(duì)項(xiàng)目中所有日志框架進(jìn)行管理。

★ 使用日志:

(1)在程序中獲取Logger對(duì)象(org.slf4j包下的),通過(guò)LoggerFactory。
     也可用Lombok的@Slf4j注解來(lái)獲取。

(2)在要輸出日志的地方(相當(dāng)于以前Systme.out.println)
     Logger的trace\debug\info\warn\error來(lái)輸出不同級(jí)別的日志。

★ 日志級(jí)別

▲ 日志級(jí)別:
  
  TRACE < DEBUG < INFO < WARNING < ERROR


▲ 當(dāng)日志輸出方法的級(jí)別高于或等于應(yīng)用日志的設(shè)置級(jí)別時(shí),該日志才會(huì)實(shí)際輸出。

   Spring Boot應(yīng)用默認(rèn)的日志級(jí)別是INFO,因此它默認(rèn)只輸出info、warn、error方法輸出的日志。

★ 設(shè)置日志級(jí)別:

設(shè)置日志的級(jí)別,可通過(guò)以下方式:

▲ 改變Spring Boot的核心日志級(jí)別

  通過(guò)debug=true或trace=true等屬性(通過(guò)配置文件、命令行參數(shù)、系統(tǒng)變量、OS環(huán)境變量等方式)

  改變整個(gè)Spring Boot核心的日志級(jí)別。

▲ 改變程序組件(包括所有各種框架)的核心日志級(jí)別

  通過(guò)logging.level.<logger-name>=<level>屬性(可通過(guò)配置文件、命令行參數(shù)、系統(tǒng)變量等方式)設(shè)置指定日志的日志級(jí)別。

 其中<logger-name>代表日志名,通常就是包名或全限定的類(lèi)名,
  如果<logger-name>使用包名,那就意味著對(duì)該包下所有類(lèi)統(tǒng)一設(shè)置日志級(jí)別。
  如果<logger-name>使用類(lèi)名,那就意味著對(duì)該類(lèi)設(shè)置日志級(jí)別。

而level則可以是trace、debug、info、warn和error等級(jí)別。

【小技巧】實(shí)際項(xiàng)目開(kāi)發(fā)時(shí),盡量避免使用System.out.println來(lái)做輸出,而應(yīng)該用日志來(lái)做輸出。
System.out.println 在輸出的時(shí)候,每打印一行都是需要進(jìn)行IO的,所以會(huì)很耗性能。

如果你在調(diào)試時(shí)用了大量的System.out.println來(lái)做輸出,到了項(xiàng)目上線(xiàn)時(shí)必須要?jiǎng)h除這些輸出語(yǔ)法,否則會(huì)因?yàn)镮O造成性能影響。

但如果你用的日志(debug)來(lái)輸出,項(xiàng)目上線(xiàn)時(shí),只要將應(yīng)用級(jí)別調(diào)高,這些日志輸出就會(huì)被自動(dòng)關(guān)閉,因此無(wú)需輸出這些日志輸出語(yǔ)句。


▲  互聯(lián)網(wǎng)上常問(wèn)如何控制日志輸出

  Spring Boot讓MyBatis輸出它執(zhí)行的SQL語(yǔ)句?。糠浅:?jiǎn)單:

   logging.level.<Mapper組件所在包>=debug
   組件可以理解是類(lèi)

  Spring Boot看到Redis的詳細(xì)執(zhí)行過(guò)程?非常簡(jiǎn)單:
   logging.level.io.lettuce.core=debug

   Spring Boot整合Redis默認(rèn)使用Lettuce依賴(lài),而io.lettuce.core就是Lettuce組件核心API所在的包。

  Spring Boot看到MongoDB的詳細(xì)執(zhí)行過(guò)程?非常簡(jiǎn)單:
   logging.level.com.mongodb=debug

  上面com.mongodb就是MongoDB核心API所在的包。

  由此可見(jiàn),通過(guò)Spring Boot可以讓它輸出任意框架的執(zhí)行過(guò)程,只需要如下設(shè)置

  logging.leve.<框架核心API所在的包>=debug

代碼示例:

1、先創(chuàng)建一個(gè)類(lèi),獲取日志對(duì)象。
2、然后在application.yml配置類(lèi)里面配置一些日志信息—改變Spring Boot的核心日志級(jí)別

通過(guò)debug=true或trace=true等屬性(通過(guò)配置文件、命令行參數(shù)、系統(tǒng)變量、OS環(huán)境變量等方式)改變整個(gè)Spring Boot核心的日志級(jí)別。

如圖:這里在配置文件里面設(shè)置核心日志級(jí)別為 trace = true,就是級(jí)別為 trace。
但是打印出來(lái)的還是只有 info、warn 和error,但是控制臺(tái)的啟動(dòng)記錄里面還是有trace的,如圖

springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

這個(gè)是改變項(xiàng)目程序組件的核心日志級(jí)別,設(shè)置特定包下所有類(lèi)的日志級(jí)別,打印的時(shí)候就可以如圖,把 trace 和 debug 都打印出來(lái)

這個(gè)是讓controller包下面的所有類(lèi)的日志級(jí)別設(shè)置為 trace
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端
這個(gè)是讓LogController這個(gè)類(lèi)的日志級(jí)別設(shè)置為 trace
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

★ 日志輸出到文件:

Spring Boot默認(rèn)只將日志輸出到控制臺(tái),不輸出到文件,如果要將日志輸出到文件,

可為Spring Boot設(shè)置如下兩個(gè)屬性的其中之一:

- logging.file.name:設(shè)置日志文件的文件名。

- logging.file.path:設(shè)置日志文件的目錄。使用默認(rèn)的spring.log作為文件名。

logging.file.path 這個(gè)有一個(gè)好處,就是當(dāng)日志文件過(guò)大的時(shí)候,就會(huì)自動(dòng)把日志文件分成多個(gè)文件。

代碼示例:

- logging.file.path:設(shè)置日志文件的目錄。使用默認(rèn)的spring.log作為文件名。

springboot日志配置slf4j,Spring Boot,spring boot,logback,后端
這個(gè)就是生成在文件夾中的日志文件,跟控制臺(tái)的打印出來(lái)的是一樣的。
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

Logback設(shè)置

logging.logback.rollingpolicy.file-name-pattern: 設(shè)置對(duì)日志歸檔的文件名模板
logging.logback.rollingpolicy.clean-history-on-start:設(shè)置應(yīng)用啟動(dòng)時(shí)是否清除日志歸檔
logging.logback.rollingpolicy.max-file-size日志文件歸檔之前的最大大小
logging.logback.rollingpolicy.total-size-cap:日志歸檔在被刪除之前所能容納的最大大小
logging.logback.rollingpolicy.max-history: 保留多少天的日志歸檔(默認(rèn)為7)

Java 的日志歸檔是指對(duì)生成的日志文件進(jìn)行周期性或大小限制的管理,以便保留和存檔舊的日志文件,以便后續(xù)的檢查、分析和備份。
通常情況下,應(yīng)用程序會(huì)生成大量的日志數(shù)據(jù),這些日志文件會(huì)越來(lái)越大,占用系統(tǒng)存儲(chǔ)空間。為了避免過(guò)多的日志文件影響系統(tǒng)性能和存儲(chǔ)空間的占用,可以對(duì)日志進(jìn)行歸檔管理。
具體來(lái)說(shuō),歸檔通常有以下幾種方式:
基于時(shí)間的歸檔:按照一定的時(shí)間間隔(如每天、每周、每月)將日志文件進(jìn)行歸檔,將舊的日志文件存檔到特定的文件夾或壓縮文件中,以便后續(xù)查閱。
基于大小的歸檔:當(dāng)日志文件達(dá)到一定大小時(shí),將當(dāng)前的日志文件存檔,然后重新創(chuàng)建一個(gè)新的日志文件,以確保日志文件的大小始終在一個(gè)可接受的范圍內(nèi)。

★ 日志組:

(1)將多個(gè)包定義一個(gè)組名,

(2)然后對(duì)整個(gè)組設(shè)置指定的日志級(jí)別

——這樣即可將該組對(duì)應(yīng)的所有包統(tǒng)一設(shè)置成相同的日志級(jí)別。

 日志組也是一個(gè)提高項(xiàng)目可維護(hù)性的小技巧。

就是一個(gè)項(xiàng)目有很多個(gè)包(文件夾),比如 controller,service、dao、domain、config 等等,然后我們想讓controller、service、dao這三個(gè)包的日志級(jí)別設(shè)置為 debug 級(jí)別。但是又不可能在配置文件中一個(gè)包一個(gè)包的寫(xiě)配置,所以這個(gè)時(shí)候就可以用到日志組。

代碼示例:

需求:我這個(gè)項(xiàng)目有三個(gè)包c(diǎn)1,c2,c3,我想讓 c2 和 c3 這兩個(gè)包的日志級(jí)別為 warn ,然后項(xiàng)目的其他包的日志級(jí)別為trace。

這里建3個(gè)包
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

我配置讓 c2 c3這兩個(gè)包的日志級(jí)別為warn
項(xiàng)目其他包的日志級(jí)別為 trace,其他包不可能一個(gè)一個(gè)寫(xiě)出來(lái),所以直接把最大的包 boot 進(jìn)行設(shè)置。
但是 c2 c3 這兩個(gè)包又被包含在 boot 包里面,所以要看看c2 c3 這兩個(gè)包的日志級(jí)別是我們要的 warn 級(jí)別,還是會(huì)因?yàn)楸籦oot包 包含而變成trace級(jí)別
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

如圖可以看出 c2 c3 這兩個(gè)包的日志級(jí)別沒(méi)有被 boot 包影響,還是我們要的warn級(jí)別。
而項(xiàng)目的其他包,如 c1 ,就是我們要的 trace 級(jí)別
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

這兩個(gè)設(shè)置,誰(shuí)放上面誰(shuí)放下面都沒(méi)有影響各自的日志級(jí)別,不會(huì)有那種放下面然后覆蓋上面的情況。
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

上面的日志實(shí)現(xiàn)就是基于 SLF4J + Logback:SLF4J是門(mén)面,Logback是實(shí)現(xiàn)

▲ 門(mén)面類(lèi)(抽象層):SLF4J、JCL(Apache commons logging)、JBoss Logging
▲ 日志實(shí)現(xiàn):Log4j、Log4j2、Logback、JUL(JDK內(nèi)置的java.util.logging)

★ 如何替換默認(rèn)的日志實(shí)現(xiàn)(Logback)

▲  兩步:

(1)去掉Logback依賴(lài)庫(kù),添加新日志實(shí)現(xiàn)的依賴(lài)庫(kù)。
    Logback日志實(shí)現(xiàn)的優(yōu)先級(jí)最高,當(dāng)該日志實(shí)現(xiàn)的JAR存在時(shí),Spring Boot總會(huì)使用該JAR包作為默認(rèn)的日志實(shí)現(xiàn)。       

(2)在類(lèi)加載路徑的根路徑下為新日志實(shí)現(xiàn)提供對(duì)應(yīng)的配置文件。

     默認(rèn)從類(lèi)加載路徑的根路徑下加載日志配置文件,也可通過(guò)logging.config屬性來(lái)設(shè)置新的加載路徑。

     除了可根據(jù)底層依賴(lài)庫(kù)自動(dòng)選擇日志實(shí)現(xiàn)外——根據(jù)JAR包來(lái)自動(dòng)選擇日志實(shí)現(xiàn),找到哪個(gè)日志實(shí)現(xiàn)的JAR包,Spring Boot就是用哪個(gè)日志實(shí)現(xiàn)。

     還可通過(guò)org.springframework.boot.logging.LoggingSystem屬性顯式指定日志實(shí)現(xiàn),
該屬性的值可以是LoggingSystem實(shí)現(xiàn)類(lèi)的全限定名。


▲  不同日志實(shí)現(xiàn)的配置文件:

Logback:logback-spring.xml、logback-spring.groovy、logback.xml或 logback.groovy

Log4j2: log4j2-spring.xml或log4j2.xml

JDK(JUL):logging.properties

Spring Boot 推薦 使用帶-spring后綴的配置文件作為對(duì)應(yīng)日志框架的配置文件。

★ 控制日志只輸出到文件(不輸出到控制臺(tái))

項(xiàng)目上線(xiàn)時(shí)比較實(shí)用!


 兩步:

(1)控制日志輸出到文件。
     指定logging.file.name或logging.file.path兩個(gè)屬性的其中之一。

(2)還需要顯式提供日志實(shí)現(xiàn)對(duì)應(yīng)的配置文件,通過(guò)該配置文件關(guān)閉日志在控制臺(tái)的輸出。

     ——這一步的配置文件往往應(yīng)該是日志實(shí)現(xiàn)相關(guān)的,和Spring Boot關(guān)系并不大。

代碼示例

1、創(chuàng)建一個(gè) logback-spring.xml 配置文件,這個(gè)配置文件專(zhuān)門(mén)用來(lái)控制 logback 日志的,現(xiàn)在在這個(gè)配置文件進(jìn)行配置,讓日志不要輸出到控制臺(tái),只輸出到指定的文件就行
application.yml 的配置不需要改,還是那樣。

springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

啟動(dòng)項(xiàng)目,然后再訪(fǎng)問(wèn)方法,發(fā)現(xiàn)控制臺(tái)都沒(méi)有任何的日志輸出,一片空白,然后打開(kāi)日志輸出的文件,發(fā)現(xiàn)成功只輸出在文件中
如圖:項(xiàng)目的啟動(dòng)時(shí)間是16:36分,文件中的日志也是同個(gè)時(shí)間,證明日志只輸出在指定文件中,沒(méi)有輸出在控制臺(tái)
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

logback-spring.xml配置文件

<!--  關(guān)閉LogBack的日志在控制器的輸出  -->
<configuration>
    <!--  導(dǎo)入Logback通用的日志配置  -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <!--  定義日志文件  -->
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
    <!--  導(dǎo)入輸入到文件的日志配置  -->
    <include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
    <!--  指定將日志輸出到文件 ,只輸出到文件,不輸出到控制臺(tái) -->
    <root level="INFO">
        <appender-ref ref="FILE"/>
    </root>
</configuration>

上面用的是默認(rèn)的 Logback,現(xiàn)在要改成 log4j2

★ 通過(guò)例子示范使用log4j2替換Logback

 ——比較小眾的應(yīng)用場(chǎng)景。用的比較少,因?yàn)?springboot 推薦用 SLF4J+Logback ,所以沒(méi)必要改成其他的
 但是這里可以嘗試一下。

(1)去掉去掉Logback依賴(lài)庫(kù),添加Log4j2日志實(shí)現(xiàn)的依賴(lài)庫(kù)。

(2)添加log4j2日志的配置文件——這一步是可選的。

代碼示例

在創(chuàng)建項(xiàng)目的時(shí)候,就會(huì)默認(rèn)有l(wèi)ogback的日志依賴(lài)了,所以把這個(gè)logback的日志依賴(lài)從pom.xml文件中去除就可以了。

1、這個(gè)操作就是把springboot默認(rèn)的日志排除在外(就是把logback排除在外)

2、添加新的日志實(shí)現(xiàn)

springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

啟動(dòng)項(xiàng)目,發(fā)現(xiàn)日志輸出和之前沒(méi)有什么區(qū)別,因?yàn)楦娜罩緦?shí)現(xiàn),是底層實(shí)現(xiàn)的,不是具體的代碼實(shí)現(xiàn),可以理解為抽象的,所以用 logback 或者是 log4j2 ,只是底層實(shí)現(xiàn)方法變了,但是呈現(xiàn)出來(lái)的效果還是一樣的。

如果:因?yàn)榘裭ogback 改成 log4j2 ,所以原本設(shè)置的 日志記錄只輸出到文件,不輸出到控制臺(tái)的作用,也失效了。

springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

要看logback 和 log4j2 的區(qū)別,只能從maven 里面看了
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

改回來(lái) logback ,原本設(shè)置的 日志記錄只輸出到文件,不輸出到控制臺(tái)的效果 就又恢復(fù)了
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端

另一種日志打印方式:

在類(lèi)上面添加注解 @Slf4j,那么就會(huì)有一個(gè) log 對(duì)象,直接用 log.info 來(lái)打印日志就可以了。


@SpringBootApplication
@Slf4j
public class App {

    public static void main(String[] args) {
        var ctx = SpringApplication.run(App.class, args);
        //普通控制臺(tái)打印
        System.err.println("普通打印myConfig01:"+ctx.getBean("myConfig01"));
        //@Slf4j 日志打印,輸出info級(jí)別的日志,日志只能輸出字符串
        //直接拿配置類(lèi)這個(gè)bean,類(lèi)名要小寫(xiě)
        log.info("日志打印myConfig01:"+ctx.getBean("myConfig01"));

        log.info("日志打印dataFormat:"+ctx.getBean("getDataFormat"));

    }

普通控制臺(tái)打印和日志打印效果
springboot日志配置slf4j,Spring Boot,spring boot,logback,后端文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-772982.html

到了這里,關(guān)于23、springboot日志使用入門(mén)-- SLF4J+Logback 實(shí)現(xiàn)(springboot默認(rèn)的日志實(shí)現(xiàn)),日志打印到控制臺(tái)及日志輸出到指定文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 學(xué)習(xí)SpringBoot使用slf4j日志并輸出到文件中

    學(xué)習(xí)SpringBoot使用slf4j日志并輸出到文件中

    再使用前,先了解一下介紹,否則你也不會(huì)用! 1、日志級(jí)別 SLF4J將日志分為trace、debug、info、warn、error五個(gè)級(jí)別,每個(gè)級(jí)別對(duì)應(yīng)記錄不同的日志,對(duì)應(yīng)不同的使用場(chǎng)景。 日志級(jí)別從低到高分為 TRACE DEBUG INFO WARN ERROR FATAL 如果設(shè)置為 WARN ,則低于 WARN 的信息都不會(huì)輸出 一般設(shè)

    2024年02月06日
    瀏覽(28)
  • 【SpringBoot中使用SLE4J日志框架啟動(dòng)報(bào)錯(cuò):SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinde】

    【SpringBoot中使用SLE4J日志框架啟動(dòng)報(bào)錯(cuò):SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinde】

    1.1 出現(xiàn)的問(wèn)題 SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 1.2 原因分析 檢查自己的maven依賴(lài),發(fā)現(xiàn)已經(jīng)引入了slf4j-api了,這是為什么呢?其原因是,SLF4J本身

    2024年02月13日
    瀏覽(21)
  • SpringBoot集成slf4j日志系統(tǒng)

    SpringBoot集成slf4j日志系統(tǒng)

    作者平臺(tái): | CSDN:blog.csdn.net/qq_4115394… | 掘金:juejin.cn/user/651387… | 知乎:www.zhihu.com/people/1024… | GitHub:github.com/JiangXia-10… | 微信公眾號(hào):1024筆記 本文大約4777字,預(yù)計(jì)閱讀時(shí)長(zhǎng)11分鐘 日志系統(tǒng)作為一個(gè)應(yīng)用系統(tǒng)的重要部分之一,它能夠有助于我們?cè)谙到y(tǒng)在線(xiàn)上環(huán)境中如果

    2023年04月19日
    瀏覽(18)
  • 【Java】異常處理 之 使用SLF4J 和 Logback

    前面介紹了 Commons Logging 和 Log4j 這一對(duì)好基友,它們一個(gè)負(fù)責(zé)充當(dāng)日志 API,一個(gè)負(fù)責(zé)實(shí)現(xiàn)日志底層,搭配使用非常便于開(kāi)發(fā)。 有的童鞋可能還聽(tīng)說(shuō)過(guò) SLF4J 和 Logback 。這兩個(gè)東東看上去也像日志,它們又是啥? 其實(shí) SLF4J 類(lèi)似 于Commons Logging ,也是一個(gè)日志接口,而 Logback 類(lèi)似

    2024年02月12日
    瀏覽(34)
  • 日志框架梳理(Log4j,Reload4j,JUL,JCL,SLF4J,Logback,Log4j2)

    文中代碼示例獲?。宏P(guān)注【 Qin的學(xué)習(xí)營(yíng)地 】,回復(fù)【 日志框架梳理 】 在了解日志框架時(shí)總會(huì)列出一系列框架:Log4j,Reload4j,JUL,JCL,SLF4J,Logback,Log4j2,這么多框架讓人感到混亂,該怎么選取、該怎么用。接下來(lái),讓我們逐步理清這些框架及之間的關(guān)系。 首先來(lái)了解日志

    2024年02月05日
    瀏覽(61)
  • SLF4J日志框架在項(xiàng)目中使用

    SLF4J全稱(chēng)“Simple Logging Facade for Java”,作為各種日志框架的簡(jiǎn)單門(mén)面。例如: java.util.logging、logback 、 reload4j等。只需要切換日志框架的jar包依賴(lài)就可以切換日志框架。 SLF4J支持的日志框架包含如下: log4j:常用的日志框架,需要有配置文件log4j.properties logback:可以通過(guò)logba

    2024年02月02日
    瀏覽(25)
  • java slf4j,Commons Logging與log4j,Logback,tinylog和異常配合使用

    1、日志是什么? ? ? ? ? 日志是每天記錄我們程序情況的。日志管理的目的是為了記錄日志。 2、為什么會(huì)有日志? ? ? ? ? 1、問(wèn)題追溯,通過(guò)日志文件的記錄可以使我們運(yùn)維或者程序員快速查找問(wèn)題根源。 ? ? ? ? 2、狀態(tài)檢測(cè),檢測(cè)我們系統(tǒng)狀況,為項(xiàng)目出現(xiàn)的問(wèn)題做

    2024年02月16日
    瀏覽(26)
  • 微服務(wù)學(xué)習(xí)系列15:日志框架slf4j使用和原理

    微服務(wù)學(xué)習(xí)系列15:日志框架slf4j使用和原理

    目錄 ? 前言 一、slf4j 項(xiàng)目Github地址: slfj4j橋接API slf4j 項(xiàng)目模塊描述 二、slf4j-api 簡(jiǎn)單使用 代碼分析? 三、基礎(chǔ)知識(shí) 外觀(guān)模式 適配器模式 什么是橋接模式 什么是SPI 什么是API 四、設(shè)計(jì)分析 參考 slf4j主要是為了給Java日志訪(fǎng)問(wèn)提供一個(gè)標(biāo)準(zhǔn)、規(guī)范的API框架,其主要意義在于提

    2024年02月07日
    瀏覽(26)
  • 應(yīng)用中日志的優(yōu)雅使用(整合log4j2與SLF4J)

    應(yīng)用中不可直接使用日志系統(tǒng)( Log4j、 Logback) 中的 API,而應(yīng)依賴(lài)使用日志框架( SLF4J、 JCL–Jakarta Commons Logging) 中的 API,使用門(mén)面模式的日志框架,有利于維護(hù)和各個(gè)類(lèi)的日志處理方式統(tǒng)一。 日志框架( SLF4J、 JCL–Jakarta Commons Logging)的使用方式(推薦使用 SLF4J) 所有

    2023年04月09日
    瀏覽(28)
  • JAVA中使用log4j及slf4j進(jìn)行日志輸出的方法

    JAVA中使用log4j及slf4j進(jìn)行日志輸出的方法

    JAVA中輸出日志比較常用的是log4j,這里講下log4j的配置和使用方法,以及slf4j的使用方法。 一、下載log4j的架包,并導(dǎo)入項(xiàng)目中,如下: 二、創(chuàng)建log4j.properties配置文件 1、log4j配置文件的位置: (1)如果是java project項(xiàng)目,則在項(xiàng)目的根目錄下創(chuàng)建log4j.properties而不是在src目錄下

    2024年02月07日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包