SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

本文主要是介绍SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的...

方案一:基础配置(直接关闭目标路径日志)

<?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 默认控制台输出 -->
    <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>

方案二:结合js Spring Profile 按环境屏蔽

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <springProfile name="prod">
        <!-- 生产环境屏蔽指定包日志 -->
        <logger name="com.example.debug" level="OFF" />
    </springProfile>
 
    <springProfile name="dev,tehttp://www.chinasem.cnst">
        <!-- 开发/测试环境保留全部日志 -->
        <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>China编程
</configuration>

关键配置说明

​1.精准路径屏蔽​

<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> 标签支持基于环境变量动态控制:

<!-- 多环境控制示例 -->
<springProfile name="!prod">  <!-- 非生产环境生效 -->
     <logger name="com.example.temp" level="DEBUG" />
</springProfil编程China编程e>

验证生效

1.​检查路径匹配​:

包路径:com.example.sensitive 会屏蔽:

  • com.example.sensitive.Service
  • com.example.sensitive.util.Helper
  • 等所有子包中的类

2.​测试日志输出​:

// 被屏蔽的类
package com.exaandroidmple.sensitive;
 
public class SecureService {
    private static final Logger log = LoggerFactory.getLogger(SecureService.class);
    
    public void process() {
        log.debug("这条日志应该被隐藏"); // 不会输出
        log.error("这条日志也会被隐藏"); // OFF 级别会屏蔽所有级别
    }
}

常见问题解决

1.​屏蔽不生效​:

检查路径是否正确(区分大小写)

确保没有其他配置覆盖(如根 logger 设置)

确认配置位置:src/main/resources/logback-spring.xml

​2.部分屏蔽​:

若需保留错误日志:

<logger name="com.example.large" level="ERROR" /> <!-- 只显示 ERROR 及以上 -->

​环境变量控制​:

启动时指定 Profile:

Java -jar app.jar --spring.profiles.active=prod

提示:Spring Boot 会自动加载 logback-spring.xml 并支持热更新(默认扫描间隔 30 秒),无需重启应用即可生效。

到此这篇关于SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志的文章就介绍到这了,更多相关SpringBoot屏蔽特定路径内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!

这篇关于SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1155049

相关文章

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

Spring Bean初始化及@PostConstruc执行顺序示例详解

《SpringBean初始化及@PostConstruc执行顺序示例详解》本文给大家介绍SpringBean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的... 目录1. Bean初始化执行顺序2. 成员变量初始化顺序2.1 普通Java类(非Spring环境)(

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理