您的位置:首页 > 运维架构 > Tomcat

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

2012-07-23 22:18 477 查看
今天调整一个老版本系统,由于是几年前的框架,了解比较详细的人已经比较少,调试有点困难,一个权限管理系统中像关联的表比较多,而所有代码已经打成了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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: