mybatis log plugin不打印sql
时间: 2023-10-08 09:05:34 浏览: 112
在配置Mybatis的日志插件时,如果发现SQL日志没有输出,可能是因为缺少配置。具体来说,需要在配置文件中添加以下配置信息:mybatis.configuration.log-impl = org.apache.ibatis.logging.stdout.StdOutImpl。
然而,如果在配置文件中同时指定了mybatis.configuration.log-impl和configLocation属性,就会出现IllegalStateException异常,提示不能同时指定这两个属性。
为了解决这个问题,可以将日志配置从properties文件中移除,将其写入mybatis-config.xml文件中。在mybatis-config.xml文件中,可以找到logImpl属性,原本可能已经配置为LOG4J,需要将其改为STDOUT_LOGGING。这样配置后,插件将开始打印SQL日志。<span class="em">1</span><span class="em">2</span>
相关问题
mybatis log 不打印sql
如果你的 MyBatis 日志不打印 SQL 语句,可以按照以下步骤进行排查:
1. 确认配置文件中是否开启了日志记录,并且日志级别设置为 DEBUG。
示例配置:
```xml
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="Blog" type="domain.blog.Blog"/>
<typeAlias alias="Comment" type="domain.blog.Comment"/>
</typeAliases>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
<plugins>
<plugin interceptor="org.mybatis.example.ExamplePlugin">
<property name="pluginProperty" value="100"/>
</plugin>
</plugins>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
<logging>
<logImpl>LOG4J</logImpl>
<level>DEBUG</level>
</logging>
</configuration>
```
2. 确认是否使用了正确的日志实现。
MyBatis 支持多种日志实现,如 Log4j、Log4j2、JDK Logging、Commons Logging 等。确保使用了你所设置的日志实现,并且该日志实现的配置文件中也开启了 DEBUG 级别的日志记录。
3. 确认是否使用了正确的日志记录器名称。
如果你使用的是 Log4j,那么你需要在配置文件中指定正确的日志记录器名称。例如,下面的配置文件指定了用于 MyBatis 的记录器名称:
```xml
<configuration>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<logger name="org.mybatis" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="STDOUT"/>
</logger>
</log4j:configuration>
</configuration>
```
4. 确认是否使用了正确的日志引入方式。
在使用 Maven 依赖管理工具时,需要确认是否将你所使用的日志实现和 MyBatis 的日志模块同时引入,例如:
```xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>
```
以上是 MyBatis 日志不打印 SQL 的可能原因,你可以根据实际情况进行排查。
mybatis log plugin
MyBatis 是一个持久层框架,它可以帮助程序员简化数据库操作。MyBatis Log Plugin 是一个 MyBatis 的日志插件,可以在运行时自动地记录和打印 MyBatis 的 SQL 日志。这样可以方便地追踪和调试 SQL 执行过程中的问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)