1. 程式人生 > >SpringBoot學習筆記(13):日誌框架

SpringBoot學習筆記(13):日誌框架

配置 沒有 alt clas load dep 技術 bubuko col

SpringBoot學習筆記(13):日誌框架——SL4J

快速開始

說明

  SpringBoot底層選用SLF4J和LogBack日誌框架。

  技術分享圖片

SLF4J的使用

SpringBoot的底層依賴關系

1.SpringBoot底層使用Slf4j+LogBack的方式進行日誌記錄

  技術分享圖片

2.SpringBoot將其他日誌框架替換成了SLF4J。

  技術分享圖片

  如果我們要引入其他框架,一定要把這個框架的默認日誌依賴移除掉

  比如SpringBoot基於Spring實現,但是將Spring的默認日誌框架移除了。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring‐core</artifactId>
    <exclusions>
        <exclusion>
            <groupId>commons‐logging</groupId>
            <artifactId>commons‐logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

  SpringBoot能自動適配所有的日誌,而且底層使用slf4j+logback的方式記錄日誌,引入其他框架的時候,只需要把這個框架依賴的日誌框架排除掉即可;

默認設置

SpringBoot默認的情況下已經幫我們配置好了日誌

//記錄器
Logger logger = LoggerFactory.getLogger(getClass()); @Test
public void contextLoads() {
//日誌的級別;
//由低到高 trace<debug<info<warn<error //可以調整輸出的日誌級別;日誌就只會在這個級別以以後的高級別生效 
 logger.trace("這是trace日誌...");
 logger.debug("這是debug日誌..."); //SpringBoot默認給我們使用的是info級別的,沒有指定級別的就用SpringBoot默認規定的級別;root
 logger.info("這是info日誌..."); 
 logger.warn("這是warn日誌..."); 
 logger.error("這是error日誌...");
}  

修改默認配置

 logging.level.com.atguigu=trace 

 #logging.path=
 # 不指定路徑在當前項目下生成springboot.log日誌
 # 可以指定完整的路徑;
 #logging.file=G:/springboot.log

 # 在當前磁盤的根路徑下創建spring文件夾和裏面的log文件夾;使用 spring.log 作為默認文件
 logging.path=/spring/log

 # 在控制臺輸出的日誌的格式
 logging.pattern.console=%d{yyyy‐MM‐dd}[%thread]%‐5level%logger{50}‐%msg%n
 # 指定文件中日誌輸出的格式
 logging.pattern.file=%d{yyyy‐MM‐dd}===[%thread]===%‐5level===%logger{50}====%msg%n

關於file與path的說明:

兩者不可同時生效,並且相互沖突,具體情況如下表格所示:

技術分享圖片

關於日期輸出格式的說明:

日誌輸出格式: %d表示日期時間,
%thread表示線程名,
%‐5level:級別從左顯示5個字符寬度
%logger{50} 表示logger名字最長50個字符,否則按照句點分割。 %msg:日誌消息,
%n是換行符
‐‐>
%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n

 

SpringBoot學習筆記(13):日誌框架