SpringBoot項目配置logback-spring.xml屏蔽特定路徑的日志
方案一:基礎(chǔ)配置(直接關(guān)閉目標(biāo)路徑日志)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 屏蔽 com.example.sensitive 包及其子包的所有日志 -->
<logger name="com.example.sensitive" level="OFF" />
<!-- 若需精確屏蔽特定類 -->
<logger name="com.example.service.SensitiveService" level="OFF" />
<!-- Spring Boot 默認(rèn)控制臺輸出 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>方案二:結(jié)合 Spring Profile 按環(huán)境屏蔽
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProfile name="prod">
<!-- 生產(chǎn)環(huán)境屏蔽指定包日志 -->
<logger name="com.example.debug" level="OFF" />
</springProfile>
<springProfile name="dev,test">
<!-- 開發(fā)/測試環(huán)境保留全部日志 -->
<logger name="com.example.debug" level="DEBUG" />
</springProfile>
<!-- 公共配置 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>關(guān)鍵配置說明
?1.精準(zhǔn)路徑屏蔽?
<logger name="完整的包或類路徑" level="OFF" />
name 屬性:支持包路徑(如 com.example.util)或全限定類名(如 com.example.util.CryptoUtils)
包路徑會屏蔽該包及其所有子包下的日志?
2.避免日志傳遞?(可選)
添加 additivity="false" 防止日志事件向上傳遞:
<logger name="com.example.noisy" level="OFF" additivity="false" />
3.?使用 Spring Profile?
<springProfile> 標(biāo)簽支持基于環(huán)境變量動態(tài)控制:
<!-- 多環(huán)境控制示例 -->
<springProfile name="!prod"> <!-- 非生產(chǎn)環(huán)境生效 -->
<logger name="com.example.temp" level="DEBUG" />
</springProfile>
驗證生效
1.?檢查路徑匹配?:
包路徑:com.example.sensitive 會屏蔽:
- com.example.sensitive.Service
- com.example.sensitive.util.Helper
- 等所有子包中的類
2.?測試日志輸出?:
// 被屏蔽的類
package com.example.sensitive;
public class SecureService {
private static final Logger log = LoggerFactory.getLogger(SecureService.class);
public void process() {
log.debug("這條日志應(yīng)該被隱藏"); // 不會輸出
log.error("這條日志也會被隱藏"); // OFF 級別會屏蔽所有級別
}
}
常見問題解決
1.?屏蔽不生效?:
檢查路徑是否正確(區(qū)分大小寫)
確保沒有其他配置覆蓋(如根 logger 設(shè)置)
確認(rèn)配置位置:src/main/resources/logback-spring.xml
?2.部分屏蔽?:
若需保留錯誤日志:
<logger name="com.example.large" level="ERROR" /> <!-- 只顯示 ERROR 及以上 -->
?環(huán)境變量控制?:
啟動時指定 Profile:
java -jar app.jar --spring.profiles.active=prod
提示:Spring Boot 會自動加載 logback-spring.xml 并支持熱更新(默認(rèn)掃描間隔 30 秒),無需重啟應(yīng)用即可生效。
到此這篇關(guān)于SpringBoot項目配置logback-spring.xml屏蔽特定路徑的日志的文章就介紹到這了,更多相關(guān)SpringBoot屏蔽特定路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 基礎(chǔ)之JavaBean屬性命名規(guī)范問題
這篇文章主要介紹了java 基礎(chǔ)之JavaBean屬性命名規(guī)范問題的相關(guān)資料,需要的朋友可以參考下2017-05-05
詳解Spring Cloud微服務(wù)架構(gòu)下的WebSocket解決方案
這篇文章主要介紹了詳解Spring Cloud微服務(wù)架構(gòu)下的WebSocket解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
springboot2.5.2與 flowable6.6.0整合流程引擎應(yīng)用分析
這篇文章主要介紹了springboot2.5.2與 flowable6.6.0整合流程引擎應(yīng)用分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-07-07
學(xué)習(xí)Java模擬實(shí)現(xiàn)百度文檔在線瀏覽
這片文章介紹了如何使用Java模擬實(shí)現(xiàn)百度文檔在線瀏覽,文章思路清晰,需要的朋友可以參考下2015-07-07
Java實(shí)現(xiàn)簡單汽車租賃系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單汽車租賃系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
MybatisPlus中@EnumValue注解使用及應(yīng)用場景
@EnumValue注解標(biāo)記在枚舉類型的字段上,表示該字段是枚舉值在數(shù)據(jù)庫中存儲的實(shí)際值,這對于枚舉的持久化是關(guān)鍵,確保枚舉在數(shù)據(jù)庫中的表示與Java枚舉類的一致性,下面就來詳細(xì)的介紹一下@EnumValue注解如何使用,感興趣的可以了解一下2025-10-10

