MyBatis Log4j无法打印SQL语句问题详解
2016-07-11 00:09
357 查看
项目采用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
至此问题解决
然后开始看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
至此问题解决
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- Apache Log4j 2.0-rc1 发布
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- Microsoft Sql server2005的安装步骤图文详解及常见问题解决方案
- PostgreSQL教程(十九):SQL语言函数