1、添加p6spy.jar。
2、将spy.properties放到src下,最后部署到类路径下。
3、修改database.properties中的数据库驱动,如:database.connection.driver=com.p6spy.engine.spy.P6SpyDriver
4、修改spy.properties中的属性:
# oracle driver
realdriver=oracle.jdbc.driver.OracleDriver
# mysql Connector/J driver
# realdriver=com.mysql.jdbc.Driver
# informix driver
# realdriver=com.informix.jdbc.IfxDriver
# ibm db2 driver
# realdriver=COM.ibm.db2.jdbc.net.DB2Driver
# the mysql open source driver
#realdriver=org.gjt.mm.mysql.Driver
根据自己的数据库类型,解开注释,这里使用oracle。
5、修改sql日志的输出方式,第三个是输出到控制台,第四个是输出到文件。
#specifies the appender to use for logging
#appender=com.p6spy.engine.logging.appender.Log4jLogger
appender=com.p6spy.engine.logging.appender.StdoutLogger
#appender=com.p6spy.engine.logging.appender.FileLogger
6、如果指定将日志输出到文件,则需指定文件的目录。
# name of logfile to use, note Windows users should make sure to use forward slashes in their pathname (e:/test/spy.log) (used for file logger only)
logfile = d:/p6spy.log
为过滤眼花缭乱的结果集resultset,需对原有的jar进行改造,件中的jar已经将resultset过滤掉了。另外还要修改:
excludecategories=info,debug,result,batch,resultset
附
spy.properties中 参数说明:
1) module.log的属性必须配置,如果不配置,P6SPY将不起任何作用,典型配置为:module.log=com.p6spy.engine.logging.P6LogFactory
2) realdriver表示真实的驱动,上面配置的com.p6spy.engine.spy.P6SpyDriver会最终调用真是的驱动程序执行SQL
Oracle数据库的配置为:
realdriver=oracle.jdbc.driver.OracleDriver
3) appender配置,一般分为三种
#appender=com.p6spy.engine.logging.appender.Log4jLogger
# appender=com.p6spy.engine.logging.appender.StdoutLogger
#appender=com.p6spy.engine.logging.appender.FileLogger
其中,appender=com.p6spy.engine.logging.appender.StdoutLogger表示将输出的SQL或者日志信息输出到Console窗口。
4) log4j.logger.p6spy一般需要将log4j的相关参数从默认的
log4j.logger.p6spy=info,STDOUT
修改为
log4j.logger.p6spy=warn,STDOUT
以减少p6spy信息的输出
5) 可以将dateformat=修改为dateformat=hh:mm:ss,SSS有利用时间信息的查看。
6) 尽量根据P6Spy的标准的示例的配置文件进行修改,不用随便删除配置信息。
7)如果是用连接池,则需要将p6spy.jar与spy.properties放到应用服务器加载lib的地方(如tomcat的lib目录)。