SpringBoot日志配置操作全面介紹
日記基礎(chǔ)操作
編程期調(diào)試代碼
運營期記錄信息
記錄日常運營重要信息(峰值流量,平均響應(yīng)時長...)
記錄應(yīng)用報錯信息(錯誤堆棧)
記錄運維過程數(shù)據(jù)(擴容、報警..)
創(chuàng)建的springboot工程中
package com.comtroller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/logs") public class LogController { //創(chuàng)建記錄日志的對象 private static final Logger log= LoggerFactory.getLogger(LogController.class); @GetMapping public String test(){ log.info("info.."); log.debug("debug.."); log.warn("warn.."); log.error("error.."); return "Logging ..."; }
運行結(jié)果
可以看出來debug級別的日志默認(rèn)是關(guān)閉的
要開啟debug只需要在配置文件中加入
//開啟debug模式,輸出調(diào)試信息,常用于檢查系統(tǒng)運行狀態(tài)
debug: true
一般這樣設(shè)置
設(shè)置日志級別,root表示根節(jié)點,即整體應(yīng)用日志級別
logging:
level:
root: debug
debug加載的信息量非常的多
logging:
level:
root: warn
改成warn級別,只要警告信息和報錯信息
設(shè)置包的級別
logging:
level:
# 其余的日志為info級別
root: info
# 設(shè)置com包下的為debug
com: debug
設(shè)置日志分組
設(shè)置日志組,控制指定包對應(yīng)的日志輸出級別,也可以直接控指定包對應(yīng)的日志輸出級別
logging:
group:
# 自定義組名,設(shè)置當(dāng)前組中所包含的包
kc_g1: com
# 設(shè)置日志級別
level:
root: warn
kc_g1: debug
可以使用繼承的方式,將配置的抽取出來,放到一個類中,這就不用書寫
將這個放到一個類中所用的類去繼承
//創(chuàng)建記錄日志的對象 private static final Logger log= LoggerFactory.getLogger(LogController.class);
使用lombok中@Slf4j簡化日志輸出
pom.xml中引入lombok
<!-- lombok簡化日志輸出--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; //lombok簡化日志 @Slf4j @RestController @RequestMapping("/logs") public class LogController { @GetMapping public String test(){ log.info("info.."); log.debug("debug.."); log.warn("warn.."); log.error("error.."); return "Logging ..."; } }
運行之后
日志輸出格式控制
PID:進程id,用于表明當(dāng)前操作所處的進程,當(dāng)多服務(wù)同時記錄日志時,這個值可以用來協(xié)助調(diào)試程序
所屬類/接口:當(dāng)前顯示信息為SpringBoot重寫后的信息,名稱過長是,簡化包名書寫為首字母,甚至直接刪除。
設(shè)置日志輸出格式
logging:
pattern:
console: "%d %clr(%p) --- [%16t] %clr(%-40.40c){red} : %m %n"
%d:日期
%m:消息
%n:換行
%p: 進程號
%clr:設(shè)置顏色
%t:進程名
-40:左對齊40位
logging
pattern:
console: "%d - %m%n"
文件記錄日志
設(shè)置日志文件
logging:
file:
name: server.log
一啟動服務(wù)器就會生成一個你指定名字的文件,但是服務(wù)器沒關(guān)是沒有內(nèi)容的,還在緩沖區(qū)里
關(guān)閉服務(wù)器得到
日志文件詳細配置
logging:
file:
name: server.log
logback:
rollingpolicy:
max-file-size: 2KB
file-name-pattern: server.%d{yyyy-MM-dd}.%i.log
自動生成對應(yīng)的
注:SpringBoot2.4之后才能使用,否則無效果
到此這篇關(guān)于SpringBoot日志配置操作全面介紹的文章就介紹到這了,更多相關(guān)SpringBoot日志配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot?@RestControllerAdvice注解對返回值統(tǒng)一封裝的處理方法
這篇文章主要介紹了SpringBoot?@RestControllerAdvice注解對返回值統(tǒng)一封裝,使用@RestControllerAdvice對響應(yīng)進行增強,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09Spring?Task任務(wù)調(diào)度的實現(xiàn)示例
本文主要介紹了Spring?Task任務(wù)調(diào)度的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06idea安裝jerbel及文件上傳下載的實現(xiàn)示例
JRebel是一個Java開發(fā)工具,它是一款用于實時代碼重載的插件,本文主要介紹了idea安裝jerbel及文件上傳下載的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解下2023-09-09idea?http?request無法識別環(huán)境變量的解決步驟
AlibabaCloudToolkit插件安裝后在?Editor->File?Types增加?AlibabaCloudROStemplates(JSON)項且會配置為解析*.json?文件,導(dǎo)致http?client無法正確解析http-client.env.json文件而無法讀取環(huán)境變量,本文介紹idea?http?request無法識別環(huán)境變量問題,需要的朋友可以參考下2023-08-08