我有一个简单的spring-boot-mybatis应用程序(请记住)。Mybatis仅在失败的情况下(例外)记录SQL查询。请告诉我,如何强制它将所有SQL查询记录到控制台?
目前,我正在使用slf4j
logger(由自动配置spring-boot
)。
我找到此链接:http : //www.mybatis.org/mybatis-3/logging.html
但是我没有设法遵循它。首先显示的配置log4j
,但我不确定是否正确理解:在中进行配置是否足够application.properties
?
提前致谢
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文件中。这些是从生成的日志信息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测试用例的完整代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句