Springboot日誌相關
市場上的日誌框架
日誌門面(日誌抽象層) | 日誌實現 |
---|---|
JCL(Jakarta Commons Logging)、SLF4j(Simple Logging Facade for Java)、jboss-logging | Log4j、JUL(Java.util.logging)、Log4j2、Logback |
- Log4j、Logback 、SLF4j都是出自同一個人的手,Logback時Log4j的升級版
- 建議使用SLF4j+Logback的組合作為日誌框架
- Springboot底層使用的是SLF4j+Logback的組合
SLF4j
- 開發的時候應該呼叫日誌的抽象層(SLF4j),不應該使用日誌的實現層(Logback),當然也可以使用其他實現層,SLF4j與其他的實現層的關係在slf4j的官網(http://slf4j.org/manual.html)上有一張圖
- 使用
public class SLF4jTest {
public static void main(String[] args){
Logger logger = LoggerFactory.getLogger(SLF4jTest.class);
logger.info("測試------");
}
}
同一個系統統一日誌框架
在一個系統中,可以能引入很多的jar包,如:mybatis、Spring等等,但是他們底層使用的日誌框架不一樣,這個要怎麼解決呢?
在sfl4j的官網(http://slf4j.org/legacy.html)上也能找到解決方案:
我們只要使用對應的日誌jar包替換掉其他框架的日誌jar包,就可以達到這個效果,打個比方:
如果mybatis中使用的是Commons logging API,我們要替換掉這個jar包,首先就得排除掉這個jar包,然後引入jcl-over-slf4j.jar的包,其實jcl-over-slf4j中會包含Commons logging API中的所有類以及方法,只是實現不一樣
sfl4j Springboot配置
- logging.level.com.example=info
com.example包下的,只要是info級別以上的日誌都輸出 - logging.path=/var/log
指定日誌輸出在/var/log的目錄下 - logging.file=D:\my.log
指定日誌輸出到my.log的日誌檔案下 - logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
控制檯輸出的日誌的格式 - logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
指定檔案中輸出的日誌的格式
替換日誌框架
先看一張圖(通過pom檔案右鍵 —> Diagrams —> Show Dependencies檢視)
這張圖是我現在的Springboot的依賴圖,然後我要怎麼做呢?
分析:
- 這裡是用slf4j作為抽象層,logback作為實現層 (可以看前面的圖片確定)
- 這裡將log4j的api通過log4j-to-slf4j封裝成了slf4j
如果要將logback替換掉,那就需要先將logback的依賴移除,然後依然使用slf4j作為抽象層的話,就不要移除slf4j,然後引入對應的中間包
,這樣即可完成替換
相關文章
- 日誌系統相關
- DB2日誌相關DB2
- Linux 查詢 日誌 相關命令Linux
- PG wal日誌LSN相關函式函式
- SpringBoot日誌管理Spring Boot
- SpringBoot 日誌框架Spring Boot框架
- MySQL慢查詢日誌相關設定MySql
- 從原始碼角度看CPU相關日誌原始碼
- SpringBoot日誌實現Spring Boot
- 55.SpringBoot日誌Spring Boot
- logstash收集springboot日誌Spring Boot
- springboot 相關注解Spring Boot
- Springboot漫遊日誌(1)Spring Boot
- SpringBoot使用ELK日誌收集Spring Boot
- SpringBoot專案整合日誌Spring Boot
- SpringBoot | SpringBoot 是如何實現日誌的?Spring Boot
- Springboot小程式相關Spring Boot
- SpringBoot中的slf4j日誌依賴關係Spring Boot
- 系統日誌及資料庫相關資訊收集資料庫
- UI自動化學習筆記- 日誌相關操作UI筆記
- SpringBoot多環境日誌配置Spring Boot
- Mariadb之日誌相關配置
- Linux 檔案系統與日誌分析的相關知識Linux
- SpringBoot-相關問題Spring Boot
- SpringBoot(一)啟動相關Spring Boot
- SpringBoot指定日誌檔案和日誌Profile功能Spring Boot
- SpringBoot切換預設日誌框架Spring Boot框架
- Springboot 整合logback 日誌框架簡介Spring Boot框架
- 在SpringBoot中使用Logback管理日誌Spring Boot
- SpringBoot記錄HTTP請求日誌Spring BootHTTP
- SpringBoot自定義註解、AOP列印日誌Spring Boot
- SpringBoot第十三篇:日誌處理Spring Boot
- springboot專案配置logback日誌系統Spring Boot
- springboot學習日誌(二)– thymeleaf學習Spring Boot
- SpringBoot 實戰 (七) | 預設日誌配置Spring Boot
- SpringBoot 用的 spring-jcl 列印日誌,與 LoggingSystem 有雞毛關係?Spring Boot
- 【手摸手玩轉 OceanBase 160】日誌歸檔相關檢視介紹
- SLF4J記錄日誌&&日誌檔案的滾動策略__SpringBootSpring Boot