常見的日誌框架有:
日誌抽象層:
日誌實現層:
spring預設採用jcl(apachecommons logging)框架,springboot預設採用slf4j+logback
的形式。
開發的時候直接呼叫日誌抽象層的方法,而不是呼叫實現類中的方法:
import org.slf4j.logger;
import org.slf4j.logge***ctory;
public
class
logging
}
spring boot也能適配(jul、log4j),但是需要匯入適配層。
注意:
每個日誌框架都需要乙個配置檔案,這個配置檔案需要按日誌框架實現層進行配置。
springboot中預設採用slf4j+logback的方式,spring預設是commons-logging日誌框架,hibernate預設採用jboss-logging日誌框架,即每個框架都有各自預設的日誌實現方式。我們的目的是統一使用slf4j框架來做日誌的輸出。
如何讓系統中所有的日誌都統一到slf4j;
在pom.xml中右鍵,show dependencies…來檢視依賴圖譜:
springboot使用spring-boot-starter-logging來做日誌功能(內部預設都配置好了):
org.springframework.boot<
/groupid>
spring-boot-starter-logging<
/artifactid>
2.4.0
<
/version>
compile<
/scope>
<
/dependency>
注意:1、日誌級別在需要列印日誌的地方,加上下面的就好了:
//getclass(),代表當前列印日誌的類
logger logger = logge***ctory.
getlogger
(getclass()
);//日誌級別由低到高
logger.
trace
("trace");
logger.
debug
("debug");
logger.
info
("info");
logger.
warn
("warn");
logger.
error
("error"
);
使用舉例:
注意:
2、日誌配置
(1) logging.level
將com.glp包下的日誌級別設為warn
logging.level.com.glp=warn
(2) logging.file 和 logging.path
(3)指定日誌的輸出格式
logging.pattern.console=%d[
%thread]%-
5level %logger
-%msg%n
logging.pattern.file=
%d===[
%thread]===
%-5level ==
=%logger
====
%msg%n
日誌輸出格式:
%d表示日期時間,
%thread表示執行緒名,
%‐5level:級別從左顯示5個字元寬度
%logger 表示logger名字最長50個字元,否則按照句點分割。
%msg:日誌訊息,
%n是換行符
(4) 日誌框架的配置檔案
注意:
使用logback日誌框架實現日誌列印時,如果配置檔案使用logback-spring.xml
,那麼就可以通過profile環境配置指定某段配置只在某個環境中生效。
name=「dev」,指該段配置在開發環境下生效。
匯入所要替換日誌框架及其適配層,並將其他日誌框架去除,用對應的替換包去替換掉原來的框架。具體參考結構圖:
如果要使用log4j2,那麼需要將spring-boot-starter-logging去除,並匯入依賴包:
org.springframework.boot<
/groupid>
spring-boot-starter-log4j2<
/artifactid>
<
/dependency>
這時我們發現依賴圖的構造變成log4j2了:
springboot中的日誌使用
springboot框架在企業中的使用越來越普遍,springboot日誌也是開發中常用的日誌系統。springboot預設就是使用slf4j作為日誌門面,logback作為日誌實現來記錄日誌。springboot中的日誌 spring boot starter logging artifactid...
SpringBoot的日誌系統
上傳真的很累,想看圖的可以訪問我的個人部落格 spring boot 底層的日誌框架採用了slf4j logback實現,其中slf4j實現日誌的抽象層,logback是日誌的實現層,兩者結合形成了spring boot的日誌框架。slf4j採用的也是工廠的設計模式 public class 可以在...
springboot日誌logging的配置
日誌輸出可以分為 控制台輸出和檔案輸出 日誌級別 trace debug info warn error fatal 如果設定為 warn 則低於 warn 的資訊都不會輸出。spring boot 中預設配置 error warn 和 info 級別的日誌輸出到控制台。loggertest類 sp...