SpringBoot 下在 yml 中的 logging 日志配置方法
前言
logging 配置主要用于控制應(yīng)用程序的日志輸出行為,可以通過配置定制日志的格式、級(jí)別、輸出位置等。
輸出日志的級(jí)別
控制哪些級(jí)別的日志會(huì)被記錄,常見級(jí)別有:
- ERROR:用于記錄嚴(yán)重錯(cuò)誤或異常,出現(xiàn)了這個(gè)日志,就說明程序中有嚴(yán)重的錯(cuò)誤或者異常已經(jīng)影響到了某些功能的運(yùn)行。
- WARN:輸出出現(xiàn)問題的警告信息,但是這些問題還不影響系統(tǒng)的正常運(yùn)行,主要是讓開發(fā)者和運(yùn)維人員注意這些可能引發(fā)問題的情況,以便在問題變得嚴(yán)重之前進(jìn)行排查和處理。
- INFO:用于記錄普通的操作信息和運(yùn)行狀態(tài)。這些日志通常用于了解應(yīng)用程序的正常運(yùn)行情況。
- DEBUG:用于記錄詳細(xì)的調(diào)試信息。這些日志通常包含比 INFO 級(jí)別更多的細(xì)節(jié),適用于調(diào)試和開發(fā)階段,幫助開發(fā)者了解系統(tǒng)的內(nèi)部工作流程。DEBUG 日志通常包括方法的入口和出口、變量值、邏輯分支的走向等。
- TRACE:這個(gè)級(jí)別用于記錄最詳細(xì)的調(diào)試信息。這些日志通常包含比 DEBUG 級(jí)別更細(xì)粒度的信息,適用于深度調(diào)試和分析問題。TRACE 日志詳細(xì)到函數(shù)的每一步執(zhí)行情況,參數(shù)傳遞和返回值等,非常適合在開發(fā)階段或問題排查時(shí)使用。
當(dāng)然,也可以針對不同的包或者類單獨(dú)設(shè)置日志級(jí)別。
logging:
level:
# 總級(jí)別
root: INFO
# 單個(gè)包的級(jí)別
com.example: DEBUG日志輸出的位置
配置日志文件輸出到的位置和名稱。
如果想配置不同級(jí)別的日志輸出的位置和名稱,需要使用 Logback 配置文件。
logging:
file:
name: /var/log/my.log日志輸出的格式
配置日志的輸出格式,可以通過設(shè)置不同的模式來定制日志的輸出樣式。
logging:
pattern:
# 控制臺(tái)輸出格式
console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
# log文件輸出格式
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"日志文件的存儲(chǔ)路徑
指定日志文件的存儲(chǔ)路徑,可以指定一個(gè)目錄,日志文件將存儲(chǔ)在這個(gè)目錄下。
logging: path: /var/log/mylog
日志文件是否輸出到控制臺(tái)配置
配置是否將日志輸出到控制臺(tái)。
logging:
console:
enabled: trueLogback 配置
Logback 是 Spring Boot 默認(rèn)使用的日志框架,可以在 logging.logback 下進(jìn)行更詳細(xì)的配置,比如自定義 Logback 的配置文件。
logging: # 通過指定自定義的配置文件做更詳細(xì)的配置 config: classpath:logback-spring.xml
日志分組配置
可以為日志級(jí)別配置創(chuàng)建分組,方便統(tǒng)一管理。允許將一組包或類分配到一個(gè)日志級(jí)別組中,從而簡化日志級(jí)別的配置管理。通過分組配置,可以一次性為多個(gè)包或類設(shè)置相同的日志級(jí)別,而不需要單獨(dú)為每個(gè)包或類進(jìn)行配置
logging:
group:
service: com.example.service, com.example.service.impl
repository: com.example.repository, com.example.repository.impl
controller: com.example.controller
level:
root: INFO
service: DEBUG
repository: ERROR
controller: WARN
com.example.controller.special: TRACE日志細(xì)粒度配置【logger】
細(xì)粒度的日志配置,可以為特定的類或包單獨(dú)配置日志級(jí)別。這在需要針對某些特定部分進(jìn)行詳細(xì)調(diào)試時(shí)非常有用。
logging:
level:
root: INFO
# 細(xì)粒度日志配置
logger:
# 為 com.example.service 包下的所有類設(shè)置 DEBUG 級(jí)別
com.example.service:
level: DEBUG
file: /var/log/myapp/service.log
# 為 com.example.repository.DBRepository 類設(shè)置 TRACE 級(jí)別
com.example.repository.DBRepository:
level: TRACE
file: /var/log/myapp/repository.log
# 為 com.example.controller 包下的所有類設(shè)置 WARN 級(jí)別
com.example.controller:
level: WARN
# 為 com.example.util 包下的所有類設(shè)置 ERROR 級(jí)別
com.example.util:
level: ERROR到此這篇關(guān)于SpringBoot 下在 yml 中的 logging 日志配置的文章就介紹到這了,更多相關(guān)SpringBoot logging 日志配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)Token登錄驗(yàn)證的項(xiàng)目實(shí)踐
本文主要介紹了Java實(shí)現(xiàn)Token登錄驗(yàn)證的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
SpringMVC @GetMapping注解路徑?jīng)_突問題解決
MD5對密碼進(jìn)行加密存儲(chǔ)是常見的一種加密方式,本文主要介紹了Java雙重MD5加密實(shí)現(xiàn)安全登錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
解決bufferedReader.readLine()讀到最后發(fā)生阻塞的問題
這篇文章主要介紹了解決bufferedReader.readLine()讀到最后發(fā)生阻塞的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java中VO PO DTO POJO BO DO對象的應(yīng)用場景及使用
文章介紹了Java開發(fā)中常用的幾種對象類型及其應(yīng)用場景,包括VO、PO、DTO、POJO、BO和DO等,并通過示例說明了它們在不同場景下的應(yīng)用2025-01-01
Java實(shí)現(xiàn)復(fù)制文件并命名的超簡潔寫法
這篇文章主要介紹了Java實(shí)現(xiàn)復(fù)制文件并命名的超簡潔寫法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
詳解spring cloud構(gòu)建微服務(wù)架構(gòu)的網(wǎng)關(guān)(API GateWay)
這篇文章主要介紹了詳解spring cloud構(gòu)建微服務(wù)架構(gòu)的網(wǎng)關(guān)(API GateWay),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01

