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

配置MyBatis-Plus打印执行的 SQL 语句到控制台或日志文件中

配置MyBatis-Plus打印

1. 使用log4jlogback配置

MyBatis-Plus 支持多种日志框架,如 SLF4J, Commons Logging, Log4J, Log4J2 和 JDK logging。这里以 Logback 为例说明如何配置。

在你的logback.xml文件中添加如下配置:

<configuration> <!-- 其他配置 --> <logger name="com.baomidou.mybatisplus" level="DEBUG"/> <!-- 如果你还想看到SQL参数,则需要同时开启以下logger --> <logger name="com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor" level="DEBUG"/> <logger name="com.baomidou.mybatisplus.core.executor.MybatisBatchExecutor" level="DEBUG"/> <!-- 其他配置 --> </configuration>
2. 使用mybatis-plus的配置属性

你也可以直接在application.propertiesapplication.yml中配置 MyBatis-Plus 相关的日志级别:

对于application.properties文件:

# 打印完整的SQL语句 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

对于application.yml文件:

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

这会将 SQL 输出到标准输出(即控制台)。如果你想更详细地控制日志输出格式和位置,建议使用日志框架进行配置。

3. 开启 MyBatis-Plus 的sql日志

有时你可能只需要查看 SQL 而不是所有级别的日志信息,在这种情况下你可以单独为 MyBatis-Plus 设置 SQL 日志级别:

logging: level: com.baomidou.mybatisplus: DEBUG

或者在application.properties中:

logging.level.com.baomidou.mybatisplus=DEBUG

以上任一方法都可以帮助你在开发环境中调试 SQL 查询。请注意,在生产环境中应当谨慎配置日志级别,避免因为过多的日志记录而影响性能。

日志等级

日志等级是用于控制应用程序中不同级别的消息输出的机制。不同的日志等级表示不同程度的重要性或严重性,这有助于开发者根据需要过滤和查看日志信息。以下是常见的日志等级及其说明:

1.TRACE(最详细)

这是最详细的日志级别,通常用来记录非常细粒度的信息事件。这些信息在诊断问题时可能很有用,但它们可能会产生大量的日志数据,因此一般只在开发或调试环境中使用。

2.DEBUG

该级别主要用于开发和调试阶段。它会记录比TRACE少一些但是仍然很详细的信息,帮助开发者了解程序运行的过程。当出现问题时,可以启用此级别来获取更多的上下文信息。

3.INFO

这是一个常用的日志级别,适用于记录系统运行中的重要事件,如启动、关闭服务等。它提供的信息量适中,既不会太多也不会太少,适合于生产环境中的常规日志记录。

4.WARN

警告级别,用来标记潜在的问题或者非致命错误。这类日志信息提示某些事情可能不对劲,但还不至于导致系统失败。例如,配置文件缺失默认值被采用等情况。

5.ERROR

错误级别,用于记录更严重的错误情况,这些错误可能会导致功能部分失效或完全无法工作。与FATAL不同的是,ERROR级别的错误虽然严重,但是系统还能继续运行。

6.FATAL(最不频繁)

致命级别,代表了极其严重的错误,通常是不可恢复的情况,可能导致整个应用程序崩溃或必须立即停止操作。这种级别的日志应该非常少见。

日志等级的关系

日志等级从上到下依次递减,即TRACE是最详细的,而FATAL是最不频繁的。当你设置一个日志等级时,实际上你也在选择是否要显示更高(更严格)级别的日志。例如,如果你设置了日志等级为WARN,那么只有WARNERRORFATAL的日志会被记录下来;而INFODEBUGTRACE的日志则不会被记录。

配置日志等级

在实际应用中,你可以通过配置文件来设定不同包或类的日志等级。比如,在 Spring Boot 应用中,你可以在application.propertiesapplication.yml文件中指定日志等级:

# application.properties 示例 logging.level.com.example=DEBUG # application.yml 示例 logging: level: com.example: DEBUG

以上配置将com.example包下的所有类的日志等级设置为DEBUG,意味着将会输出DEBUG及其以上的所有日志信息。

http://www.jsqmd.com/news/573481/

相关文章:

  • HexView 刷写文件脚本处理工具-进阶应用(十)-动态数据对齐与智能填充策略
  • AI 编码工具提升助力开源维护,法律与质量问题待解
  • Matlab布谷鸟算法:多目标优化求解代码(成本、时间、质量为目标)
  • 14天想冲刺蓝桥杯day3
  • 零基础玩转OpenClaw:gemma-3-12b-it驱动首个自动化任务
  • 2026年RPA选型终极指南:4款超实用工具,助您轻松实现企业流程自动化
  • Swin2SR在安防领域的应用:低质监控画面增强方案
  • 缸体加工工艺和夹具设计【说明书+CAD图纸+工序卡+过程卡】
  • Postman V11协作功能实战:如何用Package Library提升团队代码复用率
  • 告别繁琐操作!小鹿管家“单元层级批量编辑”全新升级,多账户管理效率飙升
  • 2026年成都市场询价采购管理系统供应商深度测评与推荐 - 2026年企业推荐榜
  • HTTPS 证书对网站 SEO 有什么影响
  • 国内流行的免费邮箱盘点
  • 【通信】基于matlab面对大规模机器通信的稀疏码多址接入系统【含Matlab源码 15261期】
  • 在 macOS 上使用 .command 文件自动化重复性工作
  • STM32-简介(一)
  • 从Pandas迁移到Polars 2.0清洗失败的7个隐藏陷阱:环境变量、Arrow版本、线程池配置全踩坑复盘
  • 我体验Meta智能眼镜一个月后的真实感受
  • AI 写代码越多,注释越不能省——理由和你想的不一样
  • 基于卡尔曼滤波和eskf滤波三维的组合导航ins和卫星的组合导航算法研究(Matlab代码实现)
  • 提升windows开发效率:用快马ai一键生成批量文件处理工具代码
  • AI辅助DDD微服务开发:从混乱到规范的实践之路
  • OpenClaw镜像体验:在星图GPU平台快速试用SecGPT-14B安全场景
  • ECharts 环形图与饼图进阶:自定义中间文字、数据块标签与图例布局
  • 【坚固型无人机结构分析】模块化多无人机配送系统的设计与控制研究附Matlab代码、Simulink仿真
  • VMPDump:动态修复VMProtect 3.X x64程序的逆向工程解决方案
  • 避坑指南:树莓派4编译LinuxCNC时USB失效的5种解决方法
  • MATLAB编程的计时器应用设计
  • 嵌入式看门狗服务:复位源识别与Nucleo深度适配
  • 英伟达与Marvell达成新协议,抢夺AI控制层主导权