mybatis集成 logback 日志框架

概述

整篇文章内容总结于(动力节点)老杜mybatis视频教程

笔记链接:https://www.yuque.com/zuihoudewu/java_note/mt2812

mybatis集成日志组件让我们调试起来更加方便

  • mybatis 常见的集成的日志组件有哪些呢?

SLF4J(沙拉风):沙拉风是一个日志标准,其中有一个日志框架叫做logback,它实现了沙拉风规范。
LOG4J
LOG4J2
STDOUT_LOGGING

log4j、log4j2、logback都是同一个作者开发的。

STDOUT_LOGGING 是标准日志,mybatis 已经实现了这种标准日志,mybatis 框架本身已经实现了这种标准,只要开启即可。

  • 在 mybatis核心配置xml 文件中使用settings标签进行配置开启。

帮助手册:https://mybatis.net.cn/configuration.html#settings

<settings>
	<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

这个标签在编写的时候要注意,它应该出现在 environments 标签之前,注意顺序。当然,不需要记忆这个顺序,因为有dtd文件进行约束,我们只要参考dtd约束即可,标签的顺序不正确会报错。

  • MyBatis本身自己实现的日志框架也是可以的,可以看到一些信息,比如:连接对象什么时候创建,什么时候关闭,sql语句是怎样的。但是没有详细的日期,线程名字等。
    在这里插入图片描述
    需要看到更加丰富的日志信息,可以集成第三方的log组件

集成 logback 日志框架

  • logback日志框架实现了slf4j标准。(沙拉风:日志门面、日志标准)
  • 在MyBatis使用标准日志 STDOUT_LOGGING 之外的其他日志框架,可以不在mybatis的配置文件中指定 MyBatis所用日志的具体实现,未指定时将会自动查找,只需要引入相应日志框架的依赖以及日志框架的配置文件即可。

使用步骤

  • 第一步:引入logback的依赖。
<!-- 引入logback依赖,logback日志框架实现了slf4j规范 -->
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.11</version>
<
### 在 MyBatis 中配置 Logback 实现日志记录 为了在 MyBatis 中通过 `logback.xml` 文件实现日志记录,需要完成几个关键步骤来确保 SQL 执行过程中的信息能够被正确捕获并记录下来。 #### 1. 添加依赖项 首先,在项目中引入必要的 Maven 或 Gradle 依赖项以便支持 SLF4J 和 Logback集成。对于 Maven 用户来说,可以在项目的 `pom.xml` 文件内添加如下片段: ```xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.30</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> ``` #### 2. 创建 logback.xml 配置文件 接着创建位于类路径下的 `src/main/resources/logback.xml` 文件用于定义具体的日志级别以及输出格式等内容。下面是一个简单的例子展示如何针对特定包启用调试级别的日志输出: ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 设置全局默认的日志等级 --> <root level="info"> <appender-ref ref="STDOUT"/> </root> <!-- 对于 com.lijian.task.mapper 下的所有 Mapper 类开启 DEBUG 日志 --> <logger name="com.lijian.task.mapper" level="DEBUG"/> </configuration> ``` 上述配置会使得来自 `com.lijian.task.mapper` 包内的所有映射器接口执行期间产生的SQL语句及相关参数均会被打印到控制台上[^1]。 #### 3. 修改 application.properties 文件 最后一步是在 Spring Boot 应用程序的 `application.properties` 文件里指定 MyBatis 映射 XML 文件的位置以及其他相关选项,例如类型别名所在的 Java 包位置等。这有助于框架自动扫描这些资源从而简化开发工作流: ```properties # MyBatis 配置 mybatis.type-aliases-package=com.lijian.task.model mybatis.mapper-locations=classpath:mapper/*.xml # 启用Mapper接口上的debug日志 logging.level.com.lijian.task.mapper= debug ``` 以上就是完整的关于怎样利用 Logback 来增强 MyBatis 数据访问层透明度的方法介绍。这样做不仅可以让开发者更容易理解应用程序的行为模式,而且也有助于快速定位潜在问题所在之处。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值