深入解析:Spring boot中 限制 Mybatis SQL日志的大字段输出

news/2025/10/4 9:55:39/文章来源:https://www.cnblogs.com/lxjshuju/p/19125337

由于现有的项目框架中,针对MyBatis的SQL日志,会完整的输出sql语句及参数内容。

存在对longtext、clob等大字段,在执行INSERT、UPDATA语句中,导致控制台输出问题:

  • 日志文件迅速膨胀
  • JVM内存异常

通过 LogbackLog4j2 的自定义 ConverterFilter,对 MyBatis 打印的 PreparedStatement 参数进行截断或脱敏。

可以直接通修改定日志级别,限制Debug级别

1、创建自定义转换器

import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;/***** @author xuancg* @date 2025/9/30*/
public class SqlParamMaskingConverter extends ClassicConverter {private static final int MAX_LENGTH = 400;private static final String MASK = "...[MASKED: too long to show]";@Overridepublic String convert(ILoggingEvent event) {String message = event.getFormattedMessage();// 匹配 PreparedStatement 的参数设置日志,如:? column1 = 'value'
        if (message.startsWith("==> Parameters:") || message.startsWith("Parameters:")) {return maskLongStrings(message);}return message;}private String maskLongStrings(String msg) {// 简单处理:对单引号包裹的长字符串进行截断if(msg.length() > MAX_LENGTH){return msg.substring(0, MAX_LENGTH) + MASK;}return msg;}
}

2、注册到 logback.xml

主要修改内容:

%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %maskedMsg%n

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

郑州网站建设代运营制作网页动画的软件

这几天开始做毕业设计了,MPEG2解码的MIPS实现,代码啥的网上一大堆,最大的困难也许不是理解代码,而是搭建环境,也就是搭建mips-linux-gcc交叉编译的环境。网上铺天盖地的都是arm-linux-gcc工具链的教程,唯独…

网站制作网络推广方案佛山做外贸网站平台

本文我们将分享数学启蒙学什么?用几个字简单的归纳为集合、数、量、形、时间、空间。我们接下来会讲感知集合和分类,数概念,量的概念,形状包含平面图形和立体图形,空间方位和时间的初步概念。 家长们可以发现幼儿数学启…

【AI时代速通QT】第九节:揭秘Qt编译全流程-从.pro材料到可执行程序

【AI时代速通QT】第九节:揭秘Qt编译全流程-从.pro材料到可执行程序pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

揭阳商城网站建设中国新闻社待遇

汇编怎么调用C函数 直接调用 BL main传参数 在arm中有个ATPCS规则(ARM-THUMB procedure call standard)(ARM-Thumb过程调用标准)。 约定r0-r15寄存器的用途: r0-r3:调用者和被调用者之间传递参数r4-r11…

网站建设理论依据网站建设布局结构

关于csgo/steam游戏搬砖项目的几大认知误区

考试心得5

2025/9/10 | 2025CSP-S模拟赛57 https://oj.gxyzh.com/d/hzoj/contest/68d921a11bde45b9248e2bb9/problems 国庆第一天训练。初三牲要死了。搬到机构里训练,效率几乎为零。 T1其实是简单题。但是考场上想了AB性质后就…

小型行业网站建设维护成本金泉网做网站电话

大型网络的拓扑结构一般会比较复杂,不同的部门,或者总部和分支可能处在不同的网络中,此时就需要使用路由器来连接不同的网络,实现网络之间的数据转发。 本章将介绍路由协议的基础知识、路由表的分类、静态路由基础与配置、VLAN间…

实用指南:Transformer模型:深度解析自然语言处理的革命性架构——从预训练范式到产业级实践

实用指南:Transformer模型:深度解析自然语言处理的革命性架构——从预训练范式到产业级实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…

PocoEmit遥遥领先于AutoMapper之打通充血模型的任督二脉

PocoEmit遥遥领先于AutoMapper之打通充血模型的任督二脉一、充血模型和失血模型 1. 充血模型的优势充血模型更加OOP 充血模型代码可读性更好1.1 充血模型伪代码 var messageDto = controller.ReadDto(); var message =…

hslenc.c 代码提纲挈领分析 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Solar9月赛wp - 场

水一篇Solar9月赛 Wireshark 哥斯拉流量,webshell的密码一直变,neta可以梭到一个zip,里面是key.txt,直接追踪到最后一个返回包,拿key.txt进行爆破解密拿到flagflag{ccebdb78-4b5c-4252-b20a-0039913c5c94} HAPPY …

做电商网站商标wordpress导航栏的文件在哪里

http://www.cnblogs.com/ccblogs/p/5260949.html 一. 效果图 二. 功能介绍 支持滚动和点击选择年月。&#xff08;目前只支持设置年月的最大最小值&#xff0c;不支持整体的最大最小值&#xff09; 三. 代码 1. 在你的html中添加如下代码&#xff1a; 直接加载<body>里面…

昆明网站建设教学视频wordpress判断是否是子分类

1.遇到的问题 服务网关 | RuoYi 最近调试若依的微服务版本需要用到Sentinel这个组件&#xff0c;若依内部继承了这个组件连上即用。 Sentinel是阿里巴巴开源的限流器熔断器&#xff0c;并且带有可视化操作界面。 在日常开发中&#xff0c;限流功能时常被使用&#xff0c;用…

wordpress 网站维护wordpress的设置网址导航

概率基础——极大似然估计 引言 极大似然估计&#xff08;Maximum Likelihood Estimation&#xff0c;简称MLE&#xff09;是统计学中最常用的参数估计方法之一&#xff0c;它通过最大化样本的似然函数来估计参数值&#xff0c;以使得样本出现的概率最大化。极大似然估计在各…

网站建设开发费用预算泉州做网站优化的公司

美女姜培琳&#xff1a;传授独家心经 不同职业的面试着装技巧。 一般来说&#xff0c;职场中精英女性的装扮&#xff0c;首要应讲求端庄、稳重。人们对服饰过于花哨怪异者的工作能力、工作作风、敬业精神、生活态度等&#xff0c;都会持怀疑的态度。 其实&#x…

成都营销型网站建设价格网站构建工具

Python2.7.13 安装 说明 以下所有操作都基于centos6.9 1. Issue zlib zlib-devel是安装setuptools依赖的模块&#xff0c;需要在安装python之前先安装这两个模块 2. Install Base #基础依赖 yum -y install gcc gcc-c zlib zlib-devel openssl-devel#删除当前mysql版本 yum rem…

坂田做网站多少钱wordpress怎么建加盟网

动态规划、DFS 和回溯算法&#xff1a;二叉树问题的三种视角 在计算机科学中&#xff0c;算法是解决问题的核心。特别是对于复杂的问题&#xff0c;不同的算法可以提供不同的解决方案。在本篇博客中&#xff0c;我们将探讨三种算法&#xff1a;动态规划、深度优先搜索&#xf…

Elastic Search 安装部署最全教程(Docker)

@@docker es 安装https://blog.csdn.net/Grey_fantasy/article/details/131561847   https://blog.csdn.net/qq_33034733/article/details/130857381     https://blog.csdn.net/yueyue763184/article/details/…

大型网站开发pdf英文网站建设 江门

几个删除重复记录的SQL语句在大的数据库应用中&#xff0c;经常因为各种原因遇到重复的记录&#xff0c;造成数据的冗余和维护上的不便。1.用rowid方法2.用group by方法3.用distinct方法 1。用rowid方法据据oracle带的rowid属性&#xff0c;进行判断&#xff0c;是否存在重复,语…

详细介绍:C#多线程全家桶:从Thread到async/await

详细介绍:C#多线程全家桶:从Thread到async/await2025-10-04 09:18 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…