p6spy

阅读更多

p6spy可以将hibernate的hql或者ibatis中的占位符『? , :name』等等转换为标准sql进行输出。

 

下载地址:

http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22p6spy%22%20AND%20a%3A%22p6spy%22

 

说明文档:

http://p6spy.github.io/p6spy/2.0/configandusage.html#confusage

 

 

使用方式(1.X和2.X的配置方式略有不同,这里以2.X版本配置mysql为例):

1.将p6spy-2.X.jar拷贝到项目的lib下;

2.将源码中的spy.properties拷贝到src下,即编译后的根路径下;

3.修改spy.properties中的driverlist=com.mysql.jdbc.Driver,其它属性默认即可,也可按需修改,比如开启appender=com.p6spy.engine.spy.appender.StdoutLogger,这样可以在控制台查看sql输出,相关属性说明重点看说明文档吧;  

4.修改项目中的数据源配置信息,比如使用tomcatJNDI的配置方式时,数据源配置中的driverClassName="com.p6spy.engine.spy.P6SpyDriver"  

和 url="jdbc:p6spy:mysql://localhost:3306/dbname",其它属性配置不变; 

5.启动tomcat,当有hibernateHql输出时,就会紧跟着打印转换后的标准sql。

 

给出一个我在开发环境下的配置信息:

driverlist=com.mysql.jdbc.Driver

dateformat=yyyy-MM-dd hh:mm:ss,SSS

appender=com.p6spy.engine.spy.appender.StdoutLogger

logMessageFormat=com.p6spy.engine.spy.appender.MultiLineFormat

databaseDialectDateFormat=yyyy-MM-dd hh:mm:ss,SSS

 

 

如果希望使用log4j输出日志,可以配置如下:

1.spy.properties中启用appender=com.p6spy.engine.spy.appender.Slf4JLogger;

2.log4j.properties中配置如下:

 

log4j.rootLogger=info,stdout

log.filepath=/usr/local/logs/log4j

logfile.filename=log4j_DailyRolling.log

log4j.logger.p6spy=INFO,logfile
log4j.additivity.p6spy=true

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c{1}:%L %5p - %m%n


log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.File=${log.filepath}/${logfile.filename}
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%X{userName}][%X{userLocale}][%c] - <%m>%n
 

 

3.必须的jar包:p6spy-2.3.1.jar,log4j-1.2.16.jar,slf4j-api-1.6.1.jar,slf4j-log4j12-1.6.1.jar,也可以直接下载p6spy-2.3.1-log4j-nodep.jar,这一个包里面就包含了前面4个包。  

你可能感兴趣的:(p6spy)