为什么我的mybatis后台不能打印sql语句

 我来答
奔跑的窝牛的家
高粉答主

2016-11-19 · 每个回答都超有意思的
知道顶级答主
回答量:3.6万
采纳率:98%
帮助的人:4429万
展开全部

项目采用SpringMVC+Mybatis的架构,日志工具还是最常用的log4j,整合了其他框架之后,发现无法打印SQL语句,然而项目中的显示调用日志却可以正常打印出来,还有当SQL拼写有错误的时候会打印出来

然后开始看Mybatis的官方文档,关于日志这一块是怎么处理的

最近Mybatis有中文文档了,虽然不全,不过已经很好了,这里面发现了项目中存在的问题。项目中引入了shiro框架,集成了slf4j日志,导致了Mybatis无法引用log4j的配置文件打印SQL语句

问题原因:这个是Mybatis默认查找日志的顺序,自上而下,也就是说,如果项目中有前面3个日志框架时,对于Mybatis,log4j就不会生效


SLF4J

Apache Commons Logging

Log4j 2

Log4j

JDK logging

解决办法:在MyBatis的配置文件mybatis-config.xml里面添加一项setting来指定log4j

<configuration>    
    <settings>    
        <setting name="logImpl" value="LOG4J" />      
    </settings>    
</configuration>

log4j中对指定内容进行输出,其中example为包名,可以继续细化处理


log4j.logger.example=DEBUG
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式