【程式源程式碼】《Spring Boot開發筆記》日誌管理
- 2020 年 4 月 1 日
- 筆記
關鍵字:《Spring Boot 開發筆記》系列文章
各位親愛的小夥伴:大家好!
《Spring Boot 開發筆記》系列文章
這套筆記和源碼是我自己在學習springboot開發中實際一個字一個字敲出來的。因為這套開發筆記是逐步整理出來的,每期會介紹不同的技術開發點。所以請大家關注公眾號,以便了解更多關於Spring Boot開發知識點。
《Spring Boot開發筆記》日誌管理
章節節內容
(十)日誌管理
咱們程式設計師一般傳統的輸入日誌的方法 就是java類中system.out.println() 輸入到控制台。但這樣對程式碼的影響也是比較大的。需要要操作的類文件中都有要寫上這些system.out語句,這樣影響其實也不好。
現在日誌框架的設計理念就是:統一提供一下日誌抽象介面,如果你需要在業務類中輸出日誌就來實現這個日誌抽象介面就可以。簡單理解就是:抽象層--實現
springboot底層是spring框架,它默認使用的是jcl框架實現日誌管理但現在建議使用slf4j 、logback這兩個框架 。
一、SFL4J使用
1、使用方法
系統是導入slf4j.jar;但注意的是每個日誌的實現框架 都有自己的配置文件,使用後需要配置文件做成日誌實現框架 的配置文件;
2、注意事項
因為項目工程中有可以引入不同的框架比如spring/hibernate 多個框架引入不同的日誌框架。那就面臨一下問題如何統一日誌管理。1、將系統中其他日誌框架先排除出去 2 用中間包來替換原有的日誌框架;3實現就導入slf4j對應的具體實現就可以了。
二、springboot中的日誌使用
1、如何更直觀的查看pom各種依賴包之間的關係呢;簡化成一目了然的圖表
idea功能:pom.xml右鍵點擊"Diagrams"(圖解) ,然後點擊「 show dependencies」(顯示依賴)
簡化成一目了然的圖表
2、日誌依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> <version>2.1.0.RELEASE</version> <scope>compile</scope> </dependency>
3、注意事項
springboot其實底層是使用的slf4j+logback的方式進行日誌記錄的;可以理解成:springboot將工程中其它的日誌框架替換成slf4j日誌框架了。但確實要引入其它的日誌框架的時候應該怎麼辦呢?
4、日誌管理和級別
public class HelloController { @ResponseBody @RequestMapping("/hello") public String hello() { //日誌管理 Logger logger = LogFactory.getLog(getClass()); //日誌級別:trace>debug>info>warn>error //默認springboot使用的日誌級別是info,如果想調整可以在配置文件中定義日誌級別; logger.info("info級別"); String s = "Hello Springboot"; return s; } }4、配置文件中管理日誌
#基礎配置日誌輸出:默認的使用info來輸出日誌級別,可以通過下面的方式來設置debug級別日誌的輸出 debug=false #配置日誌輸出到文件中:這裡輸出的日誌文件是在項目的根目錄下面,這種可以指定文件名 #logging.file=mylog.log #指定日誌文件的輸出位置,該方式不能指定文件名,並且如果指定文件後指定文件夾不再生效 logging.path=D://mylog2.log #用來指定自己創建的日誌文件 logging.config=classpath:logger-config.xml #指定固定包或者包下面的某一個類的日誌的輸出級別 logging.level.com.example.demo.controller.HelloController=debug #這是設置最大的日誌存儲時間 logging.file.max-history=5 #這是設置最大的文件保存的日誌大小 logging.file.max-size=100M #這是日誌的輸出時間格式 logging.pattern.dateformat=yyyy-MM-dd
(十一)web開發實戰
整理中.......請大家關注公眾號,了解更多關於Spring Boot 系列文章
聯繫方式
小編微信加為好友私聊。 andyquanhua

