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