【程式源程式碼】《Spring Boot開發筆記》日誌管理​

關鍵字:《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

Tags: