使用spring-mybatis的Spring-boot-如何强制其记录所有SQL查询

user6023611:

我有一个简单的spring-boot-mybatis应用程序(请记住)。Mybatis仅在失败的情况下(例外)记录SQL查询。请告诉我,如何强制它将所有SQL查询记录到控制台?

目前,我正在使用slf4jlogger(由自动配置spring-boot)。
我找到此链接:http : //www.mybatis.org/mybatis-3/logging.html
但是我没有设法遵循它。首先显示的配置log4j,但我不确定是否正确理解:在中进行配置是否足够application.properties

提前致谢

萨加尔·维拉姆(Sagar Veeram):

Spring Boot使用logback作为Slf4j的默认日志记录提供程序。Ibatis内部日志工厂将SLF4j加载为首选日志记录器。您所要做的就是配置spring boot logger以发布ibatis映射器的日志消息。

在启动应用程序属性中添加以下行。

logging.level.org.springframework=WARN
logging.level.com.spring.ibatis.UserMapper=DEBUG
logging.file=logs/spring-boot-logging.log

第二行是您使用DEBUG日志级别定义ibatis映射器的日志记录条目的地方。com.spring.ibatis是包,UserMapper是示例映射器。

以下日志将开始出现在控制台和spring-boot-logging文件中。这些是从生成的日志信息saveUserfindByName的方法ApplicationTest类。

2016-12-19 22:07:06.358  INFO 7248 --- [main] com.spring.ibatis.ApplicationTest        : Started ApplicationTest in 3.048 seconds (JVM running for 4.209)
2016-12-19 22:07:06.424 DEBUG 7248 --- [main] com.spring.ibatis.UserMapper.saveUser    : ==>  Preparing: insert into users(name) values(?) 
2016-12-19 22:07:06.444 DEBUG 7248 --- [main] com.spring.ibatis.UserMapper.saveUser    : ==> Parameters: ibatis(String)
2016-12-19 22:07:06.445 DEBUG 7248 --- [main] com.spring.ibatis.UserMapper.saveUser    : <==    Updates: 1
2016-12-19 22:07:06.457 DEBUG 7248 --- [main] com.spring.ibatis.UserMapper.findByName  : ==>  Preparing: select name from users WHERE name=? 
2016-12-19 22:07:06.470 DEBUG 7248 --- [main]  com.spring.ibatis.UserMapper.findByName  : ==> Parameters: ibatis(String)
2016-12-19 22:07:06.504 DEBUG 7248 --- [main]  com.spring.ibatis.UserMapper.findByName  : <==      Total: 1

当然,您可以配置所需的任何记录器选择。我可以轻松为您需要的任何其他记录器添加示例。

您可以在https://github.com/saagar2000/ibatis上找到包含Junit测试用例的完整代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章