SpringBoot日志級別與日志分組詳解
日志級別
1、級別內(nèi)容
- 從低到高:
ALL、TRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFF;ALL:打印 所有日志TRACE:追蹤框架詳細流程日志,一般不使用,記錄運行到哪一步了DEBUG:開發(fā)調(diào)試的細節(jié)日志INFO:關(guān)鍵、感興趣消息日志WARN:警告,但不是錯誤信息,如版本過時等。- 從 ERROR 開始包括 ERROR 再往上(從低到高)就是出現(xiàn)錯誤(導(dǎo)致程序運行不了)的日志了。
ERROR:業(yè)務(wù)錯誤日志FATAL:致命錯誤日志OFF:關(guān)閉 所有日志記錄
- 只會打印指定級別及以上(從低到高)級別的日志,驗證演示(打印
TRACE到ERROR,這是開發(fā)期間常用的4個日志類型)如下:- 要使用
log得先導(dǎo)入lombok.extern.slf4j.Slf4j,并在開頭添加@Slf4j(直接添加@Slf4j會自動導(dǎo)入lombok.extern.slf4j.Slf4j)
- 要使用
編寫如下代碼:
package com.atwyb.logging.com.atwyb.logging.controller;
//package自己的cotroller包路徑
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class HelloController {
@GetMapping("/h")
public String hello(){
log.trace("trace 日志");
log.debug("debug 日志");
log.info("info 日志");
log.warn("warn 日志");
log.error("error 日志");
return "hello";
}
}啟動程序,訪問/h后觀察到控制臺,發(fā)現(xiàn)只打印了INFO及以上的日志,因為SpringBoot 默認的日志級別為INFO,所以不打印TRACE、DEBUG

2、調(diào)整日志級別
調(diào)整默認日志級別
在SpringBoot中,可以精確調(diào)整某一個類的級別。
若不調(diào)整,所有類都會使用application.propertise中logging.level.root指定的日志級別,如圖所示。

將logging.level.root調(diào)整為debug后,運行訪問/h后,顯示日志為debug,如下圖。

調(diào)整指定類的日志級別
修改logging.level.*(*為所要修改的包名及路徑)即可,修改為warn,如下圖。

驗證,運行項目觀察控制臺,發(fā)現(xiàn)指定包的日志只顯示warn及以后的了,其它沒調(diào)整的都是默認日志等級(前面修改為了debug)。

項目開發(fā)過程中,利用日志來測試的小技巧
在項目開發(fā)測試過程中,利用常用的log.info,對參數(shù)進行驗證。
日志相比于直接在控制臺輸出,可以用以下格式
log.info("info 日志 參數(shù)A:{} 參數(shù)B:{}",A,B);修改前面的代碼:
package com.atwyb.logging.com.atwyb.logging.controller;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class HelloController {
@GetMapping("/h")
public String hello(String A,String B){
log.trace("trace 日志");
log.debug("debug 日志");
log.info("info 日志 參數(shù)A:{} 參數(shù)B:{}",A,B);
log.warn("warn 日志");
log.error("error 日志");
return "hello";
}
}啟動服務(wù)器后,訪問http://localhost:8080/h?A=1&B=2,傳輸A、B參數(shù)值后,在控制臺可以看得到info信息中帶有A、B的值。

日志分組
在有多個包需要指定日志類型時,可以通過分組快速指定。
比如需要指定以下類都為debug
logging.level.com.a=debug logging.level.com.b=debug logging.level.com.c=debug logging.level.com.d=debug
可以用以下形式替代
logging.group.abc=com.a,com.b,com.c,com.d logging.level.abc=debug
SpringBoot 預(yù)定義了兩個組:web、sql,在可以在application.propertise直接指定。
到此這篇關(guān)于SpringBoot日志級別與日志分組詳解的文章就介紹到這了,更多相關(guān)SpringBoot日志級別與日志分組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換的代碼詳解
這篇文章主要介紹了Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
IntelliJ IDEA中打開拼寫檢查與忽略提示曲線的方法
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中打開拼寫檢查與忽略提示曲線的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
Druid(新版starter)在SpringBoot下的使用教程
Druid是Java語言中最好的數(shù)據(jù)庫連接池,Druid能夠提供強大的監(jiān)控和擴展功能,DruidDataSource支持的數(shù)據(jù)庫,這篇文章主要介紹了Druid(新版starter)在SpringBoot下的使用,需要的朋友可以參考下2023-05-05
java模板引擎Thymeleaf和前端vue的區(qū)別及說明
這篇文章主要介紹了java模板引擎Thymeleaf和前端vue的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
Spring實戰(zhàn)之@Autowire注解用法詳解
這篇文章主要介紹了Spring實戰(zhàn)之@Autowire注解用法,結(jié)合實例形式詳細分析了Spring @Autowire注解具體實現(xiàn)步驟與相關(guān)使用技巧,需要的朋友可以參考下2019-12-12
使用@Validated 和 BindingResult 遇到的坑及解決
這篇文章主要介紹了使用@Validated 和 BindingResult 遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
簡單了解Java synchronized關(guān)鍵字同步
這篇文章主要介紹了簡單了解Java synchronized關(guān)鍵字同步,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
Spring?Data?Redis切換底層Jedis和Lettuce實現(xiàn)源碼解析
這篇文章主要為大家介紹了Spring?Data?Redis切換底層Jedis和Lettuce實現(xiàn)方法源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11

