log4j日志配置
打印sql语句
显示sql参数
log4.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=[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
#文件大小到达指定尺寸的时候产生一个新的文件
#log4j.appender.File = org.apache.log4j.RollingFileAppender
#每天产生一个日志文件
log4j.appender.File = org.apache.log4j.DailyRollingFileAppender
#指定输出目录
log4j.appender.File.File = D:\logs\test\logs\test.log
#定义文件最大大小
#log4j.appender.File.MaxFileSize = 10MB
#最大保存数量:-1表示无限
#log4j.appender.File.MaxBackupIndex=-1
# 输出所有日志,如果换成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
#SqlMap logging
log4j.logger.com.mybatis=DEBUG
log4j.logge.com.mybatis。common.jdbc.SimpleDataSource = DEBUG
log4j.logge.com.mybatis。common.jdbc.ScriptRunner = DEBUG
log4j.logger.com.mybatis.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=DEBUG
##指定mapper配置文件中的namespace; 打印sql语句:debug; 执行结果:trace
log4j.logger.com.test.dao = DEBUG
为了能够打印sql语句,需要在配置中添加如下代码,其中com.test.dao为dao层的包名。设置为debug可以打印sql语句,设置为trace可以打印结果集。
log4j.logger.com.test.dao = DEBUG
以上配置只能打印出sql语句的占位符“?”,要想打印出sql参数,还要引入一个架包,同时jdbc.url改为:jdbc.url=jdbc\:log4jdbc:mysql://localhost:3306
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
</dependency>
注意:log4j不支持日志同时根据日期和大小分割,若想同时根据日期和大小分割日志,通过改写源代码是可以实现的。
web.xml中添加
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
maven架包
pom.xml中添加:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>