spring整合mybatis时加上mybatis log日志输出sql语句
一,添加log4j依赖包
可从官网上下载该依赖包log4j-x.x.xx.jar,
下载后 build path,添加依赖包
二,创建 log4j.properties 配置文件
log4j.rootLogger = INFO, D, E
log4j.appender.D = org.apache.log4j.RollingFileAppender
log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.MaxFileSize = 50000KB
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = ${scheduleProject}WEB-INF/logs/schedule.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.MaxFileSize = 50000KB
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %l\:%c\:%t\:%r ] - [ %p ] %m%n
log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log 设置 将日志输出到哪个目录下
${scheduleProject}是web.xml中定义的一个用来唯一识别同一个窗口中不同项目的标识,就相当于 项目的 身份证(比如,一个Tomcat下可能部署了多个项目)
三,在web.xml文件中 配置 加载 log4j.properties的属性
<!-- 加载log4j的配置文件log4j.properties -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<!-- 设定刷新日志配置文件的时间间隔,这里设置为10s -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>10000</param-value>
</context-param>
<!-- 加载Spring框架中的log4j监听器Log4jConfigListener -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 为避免项目间冲突,定义唯一的 webAppRootKey -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>scheduleProject</param-value>
</context-param>
四,在代码中使用log4j进行日志记录
import org.apache.log4j.Logger;
class Test{
private static Logger logger = Logger.getLogger(Test.class);
//....other code
logger.info("info ");
logger.error("error");
logger.warn("warn");
.......
五 如果想要控制台输日志,mybatis.xml可做如下配置:
<settings>
<!-- 打印sql日志 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>