当前位置: 首页 > wzjs >正文

万网有域名怎么建网站网站会员体系方案

万网有域名怎么建网站,网站会员体系方案,网络公司 建站 官方网站,傻瓜式网站前言 在开发基于Spring Boot和MyBatis Plus的项目时,日志功能是调试和优化SQL查询的核心工具。通过合理配置日志输出,开发者可以直观查看生成的SQL语句、执行时间、参数值以及潜在的性能瓶颈。 一、MyBatis Plus日志配置 1.1 基础配置:直接…

前言

在开发基于Spring Boot和MyBatis Plus的项目时,日志功能是调试和优化SQL查询的核心工具。通过合理配置日志输出,开发者可以直观查看生成的SQL语句、执行时间、参数值以及潜在的性能瓶颈。

一、MyBatis Plus日志配置

1.1 基础配置:直接输出SQL日志

1.1.1 配置log-impl

MyBatis Plus提供了一个简单的配置项log-impl,可将SQL日志直接输出到控制台。

配置方式(application.yml):

mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

效果示例:

DEBUG [http-nio-8080-exec-1] c.b.mp.mapper.UserMapper.selectList - ==> Preparing: SELECT * FROM user WHERE age > ? 
DEBUG [http-nio-8080-exec-1] c.b.mp.mapper.UserMapper.selectList - ==> Parameters: 18(Integer)
DEBUG [http-nio-8080-exec-1] c.b.mp.mapper.UserMapper.selectList - <== Total: 5

说明:

  • ==> Preparing: 显示SQL语句(占位符形式)。
  • ==> Parameters: 显示参数值。
  • <== Total: 显示查询结果数量。
1.1.2 通过日志框架调整日志级别

若项目使用Logback或Log4j2等日志框架,可通过设置包路径的日志级别来控制输出。

配置方式(application.yml):

logging:level:com.example.mapper: DEBUG

效果:

  • 输出与log-impl类似的SQL日志,但需依赖日志框架的配置。

1.2 高级配置:自定义日志格式

1.2.1 使用自定义Log实现类

通过实现org.apache.ibatis.logging.Log接口,开发者可以自定义日志格式。

步骤:

  1. 创建自定义Log类:
public class CustomLogger implements Log {@Overridepublic boolean isDebugEnabled() { return true; }@Overridepublic void debug(String s) { System.out.println("[DEBUG] " + s); }// 其他方法实现...
}
  1. 配置log-impl
mybatis-plus:configuration:log-impl: com.example.CustomLogger

效果示例:

[DEBUG] [SQL_EXECUTE] SELECT id, name, age FROM user WHERE age > 18
[DEBUG] [RESULT] 5 rows affected

二、P6Spy日志配置:更详细的SQL监控

2.1 为什么使用P6Spy?

P6Spy是一个轻量级的数据库访问监控工具,支持以下功能:

  • 完整SQL输出:替换占位符?为实际参数值。
  • 慢SQL检测:记录执行时间超过阈值的SQL。
  • 多格式日志:支持控制台、文件、日志框架(如SLF4J)输出。

2.2 配置步骤

2.2.1 添加依赖

pom.xml中引入P6Spy依赖:

<dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId><version>3.9.1</version>
</dependency>
2.2.2 修改数据源配置

将JDBC驱动替换为P6Spy代理驱动,并调整URL格式。

application.yml配置示例:

spring:datasource:driver-class-name: com.p6spy.engine.spy.P6SpyDriverurl: jdbc:p6spy:mysql://localhost:3306/demousername: rootpassword: root
2.2.3 创建spy.properties文件

src/main/resources目录下创建spy.properties,配置P6Spy行为:

# 模块列表
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory# 自定义日志格式
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger# 日志输出到控制台
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger# 取消JDBC驱动注册
deregisterdrivers=true# 使用前缀
useprefix=true# 排除的日志类别
excludecategories=info,debug,result,commit,resultset# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss# 实际驱动列表
driverlist=com.mysql.cj.jdbc.Driver# 开启慢SQL记录
outagedetection=true# 慢SQL记录标准(单位:秒)
outagedetectioninterval=2# 过滤特定表的SQL
filter=true
exclude=flw_.+

关键配置说明:

  • excludecategories:排除冗余日志(如resultcommit)。
  • outagedetectioninterval:慢SQL阈值(单位:秒)。
  • exclude=flw_.+:正则表达式,过滤表名以flw_开头的SQL。
2.2.4 控制台输出示例
[2025-06-24 21:25:47] [main] [INFO] Execute SQL: SELECT id, name, age FROM user WHERE age > 18
[2025-06-24 21:25:47] [main] [INFO] Parameters: 18
[2025-06-24 21:25:47] [main] [INFO] Elapsed Time: 12ms
2.2.5 慢SQL监控输出

当SQL执行时间超过2秒时,P6Spy会标记为慢SQL:

[2025-06-24 21:25:47] [main] [WARN] Outage Detected: SQL execution took 3000ms
[2025-06-24 21:25:47] [main] [INFO] Slow SQL: SELECT * FROM large_table WHERE condition = 'value'

三、生产环境注意事项

3.1 性能影响

  • 控制台日志:频繁输出SQL日志会增加I/O开销,建议仅在开发环境启用。
  • 文件日志:若需记录日志,使用文件输出(如FileLogger)并定期归档。

3.2 安全性

  • 敏感数据:避免在日志中记录用户密码、信用卡号等敏感信息。
  • 日志过滤:通过exclude配置过滤业务无关的表(如流程引擎表flw_*)。

3.3 兼容性

  • 驱动版本:确保driverlist中指定的驱动与实际数据库版本一致。
  • P6Spy版本:推荐使用3.9.x及以上版本以获得最佳兼容性。

四、进阶优化:自定义日志格式

4.1 实现MessageFormattingStrategy接口

通过自定义日志格式化策略,开发者可以灵活控制日志输出内容。

示例代码:

public class CustomP6SpyLogger implements MessageFormattingStrategy {@Overridepublic String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql) {return String.format("[%.3fms] %s", elapsed / 1000.0, sql);}
}

配置spy.properties

logMessageFormat=com.example.CustomP6SpyLogger

效果示例:

[0.012ms] SELECT id, name, age FROM user WHERE age > 18

五、总结

通过合理配置MyBatis Plus和P6Spy,开发者可以高效监控SQL执行情况,快速定位性能瓶颈。以下是关键建议:

  1. 开发环境:启用log-impl或P6Spy的完整日志输出,便于调试。
  2. 生产环境:关闭SQL日志输出,仅保留异常日志或慢SQL监控。
  3. 日志过滤:通过正则表达式排除无关表(如flw_*),减少冗余信息。
  4. 性能优化:利用P6Spy的慢SQL检测功能,持续优化数据库操作。

掌握这些配置技巧后,开发者不仅能提升调试效率,还能在复杂业务场景中保障系统的稳定性与性能。


附录:常见问题解答

Q1: 为什么SQL日志中没有显示实际参数值?

A1: 确保使用P6Spy而非MyBatis Plus默认的StdOutImpl,P6Spy会自动替换占位符?为实际参数。

Q2: P6Spy配置后无法连接数据库?

A2: 检查driverlist是否包含实际数据库驱动(如com.mysql.cj.jdbc.Driver),并确认URL格式为jdbc:p6spy:mysql://...

Q3: 如何将日志输出到文件?

A3: 修改spy.properties中的appender配置:

appender=com.p6spy.engine.spy.appender.FileLogger
logfile=/path/to/p6spy.log

参考文献:

  • MyBatis Plus官方文档(https://www.baomidou.com/introduce/)
  • P6Spy GitHub仓库(https://github.com/p6spy/p6spy)
  • Spring Boot日志配置指南

文章转载自:

http://OXNvz9CK.zrhhb.cn
http://aAwqXGtr.zrhhb.cn
http://cb2kjjKM.zrhhb.cn
http://VfHFIqlI.zrhhb.cn
http://ppmSrPS0.zrhhb.cn
http://F4DWloiw.zrhhb.cn
http://m6pIX2oF.zrhhb.cn
http://mBeyk5bB.zrhhb.cn
http://HD0LrufM.zrhhb.cn
http://uoanGo4q.zrhhb.cn
http://F8bESzj2.zrhhb.cn
http://LuMpzhJc.zrhhb.cn
http://NLObjjZ4.zrhhb.cn
http://D4VqeFIi.zrhhb.cn
http://f8Yk2Jil.zrhhb.cn
http://OS9ymFEH.zrhhb.cn
http://YiSH4Ue3.zrhhb.cn
http://mG40gU6a.zrhhb.cn
http://gA31CO54.zrhhb.cn
http://iI7gV5CD.zrhhb.cn
http://uQqe8QbY.zrhhb.cn
http://pVnY9btk.zrhhb.cn
http://uDHeLGNS.zrhhb.cn
http://LL7cp7YT.zrhhb.cn
http://2hpz5M0i.zrhhb.cn
http://oq8zUpzw.zrhhb.cn
http://McdU7Vn9.zrhhb.cn
http://WMeVShiM.zrhhb.cn
http://EQOn3YWS.zrhhb.cn
http://lytXk5Io.zrhhb.cn
http://www.dtcms.com/wzjs/646015.html

相关文章:

  • 网站建设哪个公司比较好百度搜索自己的网站
  • phonegap wordpress东莞市长安镇网站制作优化
  • h5网站建设谷歌排名算法
  • 品牌案例网站中国网站有哪些公司
  • 汉狮做网站公司郑州忻府网站建设排名
  • 仿做网站的网站网站推广的常用途径有哪些
  • 基于营销导向的企业网站建设研究led视频网站建设
  • 东莞寮步二手车市场赣州seo推广
  • 传奇网页版游戏开服表河南网站推广优化
  • 徽文化网站建设方案书手机网站和电脑网站的区别
  • 做魔杖网站手机app界面设计软件
  • 网站正在建设中 英文开发网站多少钱
  • 网站搭建官网莆田专业网站建设公司
  • 三五互联做网站怎么样网站设计与规划作业
  • 怎么自己给自己的网站做推广铜陵市建设工程管理局网站
  • 怎么做平台网站个人网站怎么建设步骤
  • 小网站搜什么关键词wordpress比特币平台
  • 制作网站题材商业推广费用一般多少
  • 如何建设备案网站视频教程谷歌搜索优化
  • 在火炉做网站公园坐什么车什么做的网站吗
  • 深圳电商网站开发网站设计如何收费标准
  • 做动画片的网站海尔电子商务网站建设情况
  • 福清网站建设专家ui是网站建设吗
  • 营销型网站建设个人总结怎么写重庆seo培训
  • 网站备案密码丢了怎么办深圳龙岗网站制作
  • 上海专业网站建站公司清华大学有关网站建设的书
  • 建设广告联盟网站上海学做网站
  • 旅游网站建设有哪些不足google搜索中文入口
  • 二手车网站设计软件技术论坛
  • 东莞vi设计公司单页面网站如何优化引流