springboot(三)日誌框架

目錄

1.日誌框架類型

2.SLF4j使用

3.日誌配置

4.切換日誌框架



1.日誌框架類型

 市場上存在非常多的日誌框架。JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback、SLF4j、jboss-logging等。 Spring Boot在框架內容部使用JCL,spring-boot-starter-logging採用了 slf4j+logback的形式,Spring Boot也能自動適配(jul、log4j2、logback)。

 

2.SLF4j使用

SpringBoot選用 SLF4jlogback

以後開發的時候,日誌記錄方法的調用,不應該來直接調用日誌的實現類,而是調用日誌抽象層裏面的方法;
給系統裏面導入slf4jjarlogback的實現jar
 

官網

 

當自己項目使用(slf4j+logback)
由於引用的: 
Spring使用commons-logging)、
Hibernate使用jboss-logging)、
MyBatisxxxx
在此可以統一日誌記錄,使別的框架和當前項目統一使用slf4j進行輸出。
在中間引入別的框架的適配層:
 
1、將系統中其他日誌框架先排除出去;
2、用中間包來替換原有的日誌框架;
3、我們導入slf4j其他的實現
 
 
 
例如 排除Spring框架的commons-logging
 
<dependency> 
    <groupId>org.springframework</groupId>
    <artifactId>spring‐core</artifactId>
    <exclusions> 
        <exclusion> 
            <groupId>commons‐logging</groupId>
            <artifactId>commons‐logging</artifactId>
        </exclusion> 
    </exclusions> 
</dependency>

3.日誌配置

日誌輸出格式:
%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默認配置

 
 
給類路徑下放上每個日誌框架自己的配置文件即可;SpringBoot就不使用他默認配置的了
 
自定義日誌配置文件時,使用日誌框架所對應的文件名稱
 
 
logback.xml:直接就被日誌框架識別了;
logback-spring.xml:日誌框架就不直接加載日誌的配置項,由SpringBoot解析日誌配置,可以使用SpringBoot
的高級Profifile功能

指定環境

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <!‐‐ 日誌輸出格式: %d表示日期時間, %thread表示線程名, %‐5level:級別從左顯示5個字符寬度 %logger{50} 表示logger名字最長50個字符,否則按照句點分割。 %msg:日誌消息, %n是換行符 ‐‐>
    <layout class="ch.qos.logback.classic.PatternLayout">
        <springProfile name="dev">
            <pattern>%d{yyyy‐MM‐dd HH:mm:ss.SSS} ‐‐‐‐> [%thread] ‐‐‐> %‐5level %logger{50} ‐ %msg%n</pattern>
        </springProfile>
        <springProfile name="!dev">
            <pattern>%d{yyyy‐MM‐dd HH:mm:ss.SSS} ==== [%thread] ==== %‐5level %logger{50} ‐ %msg%n</pattern>
        </springProfile>
    </layout>
</appender>
如果使用logback.xml作爲日誌配置文件,還要使用profifile功能,會有以下錯誤
no applicable action for [springProfile]

 

4.切換日誌框架

slf4j+logback ==》slf4j+log4j 的方式

 

slf4j+logback ==》slf4j+log4j2 的方式

即使用:spring-boot-starter-log4j2

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章