三 SpringBoot - Slf4j+logback 日志,異步請求,定時任務

1、Slf4j+logback 日志SpringBoot框架的默認日志實現:slf4j + logback;
默認日志級別:info,對應了實際生產環境日志級別;
1.1 日志級別# 常見的日志框架中,日志級別都包含五種,優先級從低到高:trace < debug < info < warn < error #日志輸出規則是:自動設置的日志級及更高級別,進行日志輸出;比如當前日志級別是info,那么日志輸出的級別包含:info,warn,error,凡是業務的這三個級別,都會輸出到日志文件1.1.1 trace 日志級別trace 日志級別,了解,實際開發中 , 幾乎不會使用此級別;(配置文件指定為 trace級別才會輸出);
logger.trace("------------ trace 日志級別,了解,實際開發中,幾乎不會使用此級別 ------------------");1.1.2 debug 日志級別

  1. debug 日志級別 , 掌握,實際開發中 , 此日志級別作為調試日志使用 , 是線上調試問題定位的有效手段;
  2. 強調:線上一般默認是不開debug日志,因此日志級別記錄的日志極為詳情,會產生大量的日志內容及文件;
  3. 發現線上問題 , 不好定位時 , 臨時開啟debug;
logger.debug("------------ {} 日志級別,{},實際開發中,此日志級別作為調試日志使用 , 是線上調試問題定位的有效手段 ------------------","debug","掌握");1.1.3 info 日志級別info 日志級別,掌握,實際開發中,此日志級別是核心業務環境日志,不需要記錄特別詳細 , 一般都是接口 入和出,方便版本上線查看業務是否正常使用;
logger.info("------------ {} 日志級別,{},實際開發中,此日志級別時核心業務環境日志,不需要記錄特別詳細 ------------","info","掌握");1.1.4 warn 日志級別【三 SpringBoot - Slf4j+logback 日志,異步請求,定時任務】warn 日志級別 , 掌握 , 實際開發中,此日志級別是業務警告日志,警告日志不一定是錯誤,可能業務異常流程,或者數據錯誤判斷;
logger.warn("------------ {} 日志級別,{},實際開發中,此日志級別時業務警告日志 ------------","warn","掌握");1.1.5 error 日志級別error 日志級別,掌握,實際開發中,此日志級別是核心業務錯誤,凡是系統中出現了異?;蛘叱绦蝈e誤,都必須使用error日志 , 級別最高,確保必須輸出,可以有效的記錄線上業務的錯誤;
logger.error("------------ {} 日志級別,{},實際開發中,此日志級別是核心業務錯誤 ------------","error","掌握");1.2 日志使用1.2.1 創建日志對象//創建日志對象Logger logger = LoggerFactory.getLogger(getClass());logger.trace("");logger.debug("");logger.info("");logger.warn("");logger.error("");1.2.2 @Slf4j 注解@Slf4jpublic class ChargeResultNotifySchedule{log.trace("");log.debug("");log.info("");log.warn("");log.error("");}1.3 配置文件配置日志 信息1.3.1 測試默認日志級別1.3.1.1 直接運行測試類
三 SpringBoot - Slf4j+logback 日志,異步請求,定時任務

文章插圖
1.3.1.2測試類增加 @RunWith(SpringRunner.class) 注解測試類增加 @RunWith(SpringRunner.class) 注解 運行的是SpringBoot項目測試,會讀取到配置文件;
三 SpringBoot - Slf4j+logback 日志,異步請求,定時任務

文章插圖
1.3.2 修改配置文件信息1.3.2.1 修改默認日志級別為 debug# 默認日志級別為 info,更改默認日志級別debuglogging:level:com:kgc:sbt: debug
三 SpringBoot - Slf4j+logback 日志,異步請求,定時任務

文章插圖
1.4 指定日志輸出1.4.1 指定日志輸出到指定文件
  1. 默認日志只輸出到控制臺;
  2. 指定輸出到指定文件,默認會加載到根路徑下;
  3. 所有的日志,都是追加記錄 , 不會執行覆蓋;
logging: file: kh96-logging.log日志輸出到根目錄下的指定文件名下:
三 SpringBoot - Slf4j+logback 日志,異步請求,定時任務

文章插圖
1.4.2 指定日志輸入到指定目錄下不指定文件名,SpringBoot中的logback會由默認的日志名spring.log;
logging: path: D:/KEGONGCHANG/DaiMa/IDEA/KH96/SpringBoot/SpringBoot/TempFile/kh96-logging2默認名:
三 SpringBoot - Slf4j+logback 日志,異步請求,定時任務

文章插圖

推薦閱讀