在做后台的时候,有的时候会出现一些bug,这些bug不会报错,可能是因为业务上的原因导致的,例如sql写的不对,mybatis里面查询错误的时候,这个时候,想看一下执行的sql,但是在项目中没有,就比较费劲,利用log4j在控制台打印出来sql语句可以清楚的看到这个业务流程。
一、pom.xml文件里面添加log4j的文件。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.10</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
二、在web.xml里面添加一个配置文件
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:prop/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
三、log4j.properties的配置文件
log4j.rootLogger = DEBUG,stdout
log4j.logger.com.dake.cris=debug,activity
log4j.additivity.com.dake.cris=true
log4j.logger.com.ibatis = DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG
log4j.logger.java.sql.ResultSet = INFO
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%d][%-5p]:%m %n
#定义日志输出目的地为控制台
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
#可以单指一个Mapper接口输入执行sql语句
log4j.logger.com.tbs.bill.Mapper.billMapper=DEBUG