J2EE 使用p6spy查看JAVA程序中执行的SQL,TOMCAT配置

本文介绍了一种通过P6Spy工具调试老版本系统中难以定位的问题的方法。具体步骤包括下载并配置P6Spy,修改数据源定义以启用SQL日志记录,并调整配置文件来指定日志输出方式。

今天调整一个老版本系统,由于是几年前的框架,了解比较详细的人已经比较少,调试有点困难,一个权限管理系统中像关联的表比较多,而所有代码已经打成了jar包,找不到源码,没法查看其中SQL语句,但是确定原因应该就是数据错误造成,需要找到模块对应的数据库表以及关系才能查出问题。

上网搜了一下可以使用p6spy在控制台或日志文件中输出程序执行的SQL信息,而且对于目前简单的需求配置非常简单。

1.上网下载一个p6spyinstall.jar,解压缩后能找到spy.properties与p6spy.jar两个文件。

对于tomcat5.5的版本

将spy.properties 放在{TomcatHome}/common/classes 文件夹
将p6spy.jar is 放在 {TomcatHome}/common/lib 文件夹

对于tomcat6的版本将两个文件都放在{TomcatHome}/lib 文件夹下

2.修改程序中定义数据源或数据库连接的位置:更改其中使用的<driverName />一般oracle应该如下:

<driverName>oracle.jdbc.driver.OracleDriver</driverName>


修改为:

<driverName>com.p6spy.engine.spy.P6SpyDriver</driverName>


3.修改spy.properties文件中的配置:

修改为realdriver=oracle.jdbc.driver.OracleDriver

以下部分前面不带井号的为有效:

#specifies the appender to use for logging
#appender=com.p6spy.engine.logging.appender.Log4jLogger //使用log4j输出sql
appender=com.p6spy.engine.logging.appender.StdoutLogger //使用控制台输出
#appender=com.p6spy.engine.logging.appender.FileLogger //输出到日志文件,另外有一个配置具体的输出文件的名字默认是spy.log

 

修改完后,重新启动应用,就可以看到所有执行的SQL了,更详细的配置可以参考:

http://wenku.baidu.com/view/b68719126edb6f1aff001fb0.html

 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值