上傳真的很累,想看圖的可以訪問我的個人部落格:
spring boot 底層的日誌框架採用了slf4j+logback實現,其中slf4j實現日誌的抽象層,logback是日誌的實現層,兩者結合形成了spring boot的日誌框架。
slf4j採用的也是工廠的設計模式
public
class
}
可以在配置檔案中修改日誌的一些配置:
#####日誌配置#########
#調整log級別
logging.level.cn.bestrivenlf=trace
#不指定路徑則當前專案下生成springboot.log的日誌
#也可以指定完成的路徑
#logging.file=springboot.log
#這是和logging.file的衝突設定,一般只設定path,會在path下建立預設spring.log的日誌檔案
#在當前磁碟的根路徑下建立spring資料夾和裡面的log資料夾,然後使用spring.log作為預設的日誌檔案
logging.path=/spring/log
# 指定日誌在控制台輸出的日誌格式
# logging.pattern.console=
# 指定檔案種日誌的輸出格式
# logging.pattern.file=
在resource下可以存放日誌的配置檔案用以覆蓋springboot的預設日誌配置,但是對於配置檔案的檔名有固定要求,詳情可以看官方文件。
對於logback的日誌配置檔案,可以使用logback.xml和logback-spring.xml作為配置檔名,但是springboot官方文件建議使用帶spring字尾的檔名,因為如果使用logback.xml則是直接被logback的日誌框架識別,從而繞過springboot,而使用logback-spring.xml作為配置檔名則是通過springboot來修改日誌的預設配置,且可以使用springboot提供的特殊配置。
例如:不同場景下生效不同的配置
name
="stdout"
class
=>
class
="ch.qos.logback.classic.patternlayout"
>
name
="dev"
>
>
%d----> [%thread]------> %-5level %logger - %msg%npattern
>
springprofile
>
name
="!dev"
>
>
%d***** [%thread]*****== %-5level %logger - %msg%npattern
>
springprofile
>
layout
>
>
如果想要使用log4j的實現框架,則需要在springboot種排除掉logback的jar包,然後倒入slf4j對log4j的支援jar即可。
>
>
org.springframework.bootgroupid
>
>
spring-boot-starter-webartifactid
>
>
>
>
logback-classicartifactid
>
>
ch.qos.logbackgroupid
>
exclusion
>
exclusions
>
dependency
>
>
>
org.slf4jgroupid
>
>
slf4j-log4j12artifactid
>
dependency
>
SpringBoot 日誌系統
官方文件 1.spring boot 通過引入 spring boot starter web 模組即可引入日誌相關依賴包。2.spring boot 根據類路徑下的相關日誌框架的依賴包去自動構建日誌系統。首選日誌框架是 logback。83.1 configure logback for logg...
springboot日誌logging的配置
日誌輸出可以分為 控制台輸出和檔案輸出 日誌級別 trace debug info warn error fatal 如果設定為 warn 則低於 warn 的資訊都不會輸出。spring boot 中預設配置 error warn 和 info 級別的日誌輸出到控制台。loggertest類 sp...
springboot的日誌配置
springboot的日誌配置 日誌的級別 從低到高 trace org.springframework.boot groupid spring boot starter web artifactid org.springframework.boot groupid spring boot star...