不須要任何配置,只須要添加
spring-boot-starter-web
依賴,SpringBoot
已經爲咱們集成日誌框架,默認使用logback
;html在項目根目錄使用
maven
命令mvn dependency:tree
,查看依賴結果以下java
建立主函數,運行後,能夠看到,
SpringBoot
默認日誌格式以下git
格式解析:(默認採用顏色日誌)github
ERROR、WARN、INFO、DEBUG、TRACE
ID
---
來標識日誌開始部分Logger
名:一般使用源代碼的類名
SpringBoot 2.0.3
默認開啓顏色日誌,判斷終端是否支持ANSI
,支持則打印顏色日誌,也能夠在application.yml
文件修改spring.output.ansi.enabled
來修改默認值web
ALWAYS
: 啓用 ANSI
顏色的輸出。DETECT
: 嘗試檢測 ANSI
着色功能是否可用(默認值)。NEVER
: 禁用 ANSI
顏色的輸出。
%clr
修改顏色。好比想使文本變爲黃色 %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}。目前支持的顏色有(blue、cyan、faint、green、magenta、red、yellow)spring
SpringBoot
默認爲咱們輸出的日誌級別爲INFO、WARN、ERROR
,如須要輸出更多日誌的時候,能夠經過如下方式開啓app
Chaper1-1-2
提到的配置debug: true
,該配置只對嵌入式容器、Spring、Hibernate生效本身項目須要手動配置日誌級別,配置規則:
logging.level.<logger-name>=<level>
,或者,logging.level.<目錄>=<level>
框架
logging: level: # org.springframework.web目錄下日誌級別debug org.springframework.web: debug # com.mkeeper目錄下日誌級別info com.mkeeper: info # com.mkeeper.controller.off目錄下日誌關閉 com.mkeeper.controller.off: off
logging.pattern.console
: 定義輸出到控制檯的格式(不支持JDK Logger)logging.pattern.file
: 定義輸出到文件的格式(不支持JDK Logger)
SpringBoot
默認只輸出控制檯,不輸出文件;經過下面配置添加文件日誌輸出maven
logging.file
: 將日誌寫入到指定的 文件 中,默認爲相對路徑,能夠設置成絕對路徑logging.path
: 將名爲 spring.log
寫入到指定的文件夾中logging.file.max-size
: 限制日誌文件大小,日誌文件在達到規定大小
時進行切割,產生一個新的日誌文件logging.file.max-history
: 限制日誌保留天數,到期自動刪除@Slf4j
若是不想每次都寫
private final Logger logger = LoggerFactory.getLogger(XXX.class);
能夠用註解@Slf4j
,該註解依賴lombok
,slf4j
(SpringBoot已經自動配置,不用手動添加)函數
@Slf4j @RestController public class LogController { //若是不想每次都寫private final Logger logger = LoggerFactory.getLogger(XXX.class); 能夠用註解@Slf4j //private final Logger logger = LoggerFactory.getLogger(LogController.class) @GetMapping("/log") public void log(){ log.debug(this.getClass().getSimpleName() + ": debug"); log.info(this.getClass().getSimpleName() + ": info"); log.warn(this.getClass().getSimpleName() + ": warn"); log.error(this.getClass().getSimpleName() + ": error"); } }
推薦閱讀官方文檔瞭解更多日誌配置細節,有任何建議,歡迎留言探討,本文源碼。
歡迎關注博主公衆號:Java十分鐘