springboot預設日誌選用
日誌門面:slf4j
日誌實現:logback
總結:1.springboot底層也是使用slf4j+logback的方式進行日誌記錄
2.springboot也把其他的日誌替換成了slf4j(包名一樣,內容使用slf4j)
3.如果要引入其他框架,一定要把這個框架的預設日誌框架依賴移除掉。因為springboot已經引入了替換包,日誌包名其實已經存在了,如果不移除就會jar包衝突,出現問題。
必須同時引入logback的jar包,slf4j會自動選擇實現來輸出日誌。springboot日誌使用獲取記錄器每乙個日誌的實現框架都有自己的配置檔案,使用slf4j後,配置檔案還是做成日誌 實現框架自己本身的配置檔案。
logger logger = logge***ctory.
getlogger
(getclass)
;
不同日誌級別輸出
spring預設是info級別的,只會輸出info及以後級別的日誌。
可以通過logging.level.com.packeg=debug 配置指定包的日誌級別
//日誌級別由低到高
logger.
trace
("test");
logger.
debug
("test");
logger.
info
("test");
logger.
warn
("test");
logger.
error
("test"
);
日誌輸出
指定日誌輸出到指定路徑的指定檔案
loggin.file=路徑+輸出檔名
指定日誌輸出到指定路徑
配置:loggin.path=/test
(預設日誌檔名為spring.log)
在控制台輸出的日誌的格式
loggin.pattern.console=%d…自定義格式
指定檔案中日誌輸出的格式
loggin.pattern.file=%d…自定義格式
自定義日誌配置檔案
給類路徑下放置每個框架對應的配置檔案即可(如果使用logback,那麼在類路徑resources下放置logback-spring.xml或者logback.xml就可以)
有乙個區別是,如果放置不帶spring字尾的配置檔案,例如logback.xml,那麼這個配置檔案就會直接被日誌框架識別。springprofile如果放置帶spring字尾的配置檔案,例如logback-spring.xml,則由springboot載入此配置檔案,同時可以使用springprofile功能,指定某段配置只在某個環境下生效
(區分開發版、正式版、測試版,預設環境:default)
name
="dev"
>
//如果是dev版本則此配置生效
springprofile
>
name
="!dev"
>
//如果不是dev版本則此配置生效
springprofile
>
問題描述:乙個專案可能會依賴多個框架(這裡指多技術的整合,不同公司的技術會帶有不同的日誌系統)。這樣專案中的日誌就會很亂。所以要設定都使用slf4j。
解決方法:
用slf4j提供的對應框架的替代jar包來替換對應日誌框架的jar包。這樣使得別的日誌框架也會呼叫slf4j框架。
統一到slf4j切換日誌引擎:1.將系統中其他日誌框架jar包先排除出去
2.用中間包來替換原有的日誌框架jar包
3.匯入slf4j其他的實現。
修改預設的日誌實現框架:按照slf4j的官方的日誌適配圖來操作:
去除當前的日誌實現框架
去除想用的slf4j替換包
匯入想用的日誌實現包或日誌實現包的slf4j轉換層
例:切換為log4j2:
在原來的依賴裡排除掉spring-boot-starter-loggin
引入log4j2的starter
重寫log4j2的配置檔案log4j2-spring.xml
springboot 設定日誌
logging.level root info logging.level org springframework web debug 設定包的日誌級別 logging.level org hibernate error或者可以在命令列引數後加 logging.level org springfra...
springboot 日誌管理
springboot 在引入spring boot starter web時,預設的引入logback日誌包,在專案中就不需要額外引入.debug info warn error fatal。在resource目錄下新增logback spring.xml 內容 xml version 1.0 en...
springboot新增日誌
pom.xml新增依賴如下 org.springframework.boot spring boot starter web org.springframework.boot spring boot starter logging org.springframework.boot spring bo...