我有一个简单的spring-boot- mybatis应用程序(请记住)。Mybatis仅在失败的情况下(例外)记录SQL查询。请告诉我,如何强制它将所有SQL查询记录到控制台?
目前,我正在使用slf4jlogger(由进行自动配置spring-boot)。 我找到此链接:http : //www.mybatis.org/mybatis-3/logging.html 但是我没有设法遵循它。首先显示的配置log4j,但我不确定是否正确理解:在中进行配置是否足够application.properties?
slf4j
spring-boot
log4j
application.properties
提前致谢
Spring Boot使用logback作为Slf4j的默认日志记录提供程序。Ibatis内部日志工厂将SLF4j加载为首选记录器。您所要做的就是配置您的spring boot logger,以发布ibatis mapper的日志消息。
在启动应用程序属性中添加以下行。
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是示例映射器。
com.spring.ibatis
UserMapper
以下日志将开始出现在控制台和spring-boot-logging文件中。这些是从类saveUser和findByName 方法生成的日志消息ApplicationTest。
saveUser
findByName
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测试用例的完整代码。