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)然,也可以針對(duì)不同的包或者類單獨(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: true
Logback 配置
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í)別。這在需要針對(duì)某些特定部分進(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟
這篇文章主要介紹了SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10在Springboot中Mybatis與Mybatis-plus的區(qū)別詳解
MyBatis是一個(gè)優(yōu)秀的持久層框架,它對(duì)JDBC的操作數(shù)據(jù)庫的過程進(jìn)行封裝,MyBatisPlus (簡稱 MP)是一個(gè) MyBatis的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡化開發(fā)、提高效率而生,本文將給大家介紹了在Springboot中Mybatis與Mybatis-plus的區(qū)別2023-12-12Java利用MD5加鹽實(shí)現(xiàn)對(duì)密碼進(jìn)行加密處理
在開發(fā)的時(shí)候,有一些敏感信息是不能直接通過明白直接保存到數(shù)據(jù)庫的。最經(jīng)典的就是密碼了。如果直接把密碼以明文的形式入庫,不僅會(huì)泄露用戶的隱私,對(duì)系統(tǒng)也是極其的不厲。本文就來和大家介紹一下如何對(duì)密碼進(jìn)行加密處理,感興趣的可以了解一下2023-02-02Java設(shè)計(jì)模式詳解之門面模式(外觀模式)
為子系統(tǒng)中的一組接口提供一個(gè)一致的界面, Facade 模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。本文給大家介紹Java設(shè)計(jì)模式詳解之門面模式(外觀模式),感興趣的朋友參考下吧2016-04-04