ssm环境下配置log4j打印mybatis的sql语句

Posted Fantasy_99

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssm环境下配置log4j打印mybatis的sql语句相关的知识,希望对你有一定的参考价值。

首先附上官网的说明文档: 
mybatis Logging 

环境spring4.3.0+springmvc4.3.0+mybatis3.4.0 
按官方文档的说明

1 SLF4J
2 Apache Commons Logging
3  Log4j 2
4  Log4j
5 JDK logging

 

mybatis会使用最先找到的(按上文列举的顺序查找),不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现。所以我们首先得指定要使用哪个日志框架,因为是在ssm环境中配置,所以没有mybatis-config.xml文件,就不能在里面配置下面几行

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

 

那我们就得在web.xml文件中指定使用log4j作为我们的日志框架的实现。 
web.xml中的配置如下

      <!-- 加载log4j配置文件 -->
    <context-param>
      <param-name>log4jConfigLocation</param-name>
      <param-value>classpath:log4j.properties</param-value>
      <!-- <param-value>/WEB-INF/log4j.xml</param-value> -->
    </context-param>
    <listener>
       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

 

接着在编写log4j.propertes文件 
log4j.properties

#定义LOG输出级别
log4j.rootLogger=INFO,Console,File

#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活的指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c]-%m%n

#mybatis显示SQL语句日志配置  
#log4j.logger.org.mybatis=DEBUG
log4j.logger.net.cxp.blog.dao=DEBUG


#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File=org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File=logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize=10MB
#输出所有日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm|\:ss}][%c]%m%n

 

其中和打印sql语句有关的是下面几句

#mybatis显示SQL语句日志配置  
#log4j.logger.org.mybatis=DEBUG
log4j.logger.net.cxp.blog.dao=DEBUG

 

按照官方的配置,应该就写

log4j.logger.net.cxp.blog.dao=DEBUG

 

注:net.cxp.blog.dao是你的dao接口所在的包名 







以上是关于ssm环境下配置log4j打印mybatis的sql语句的主要内容,如果未能解决你的问题,请参考以下文章

SSM框架基础配置文件

maven项目整合SSM配置log4j, 实现控制台打印SQL语句

SSM下 log4j 配置

maven+SSM+shiro+junit+jetty+log4j环境配置的最佳实践

SSM框架下利用log4j日志打印sql语句

SSM框架中日志的打印和单例模式