一个部署比较复杂的web系统,无源码,想用p6spy抓获sql语句,查阅网上大量的资料之后,并做实验之后,发现还是不能抓出sql语句,估计是web系统部署太复杂的原因,请教我应该怎么设置p6spy。
1、一个web系统有多个应用组成,使用同一个登录页面,web系统的的目录结构如下:
|---3rdparty
| |---apache-tomcat-6.0.18
| | |---lib
| | |---temp
| | |---bin
| | |---work
| | |---conf
| | |---webapps
|---bin
|---reports
|---etc
| |---apache
| |---tomcat
| |---init.d
|---common
| |---lib ------这个目录下面p6spy.jar,放在其他lib目录下面web服务起不来
| |---classes ------这个目录下面spy.properties,因为链接数据库的配置文件在此目录,放在其他classes目录web下面服务起不来
| | |---bshcommands
|---webapps
| |---app1
| | |---WEB-INF
| | | |---lib
| | | |---classes
| | |---common
| | | |---javascript
| | | |---xslt
| | | |---flashfiles
| | | |---vbscript
| | | |---images
| | | | |---tabs
| | | | |---configuration
| | | | |---tableHeader
| | | |---css
| |---app2
| | |---WEB-INF
| | | |---lib
| | | |---classes
| | |---inc
| |---app3
| | |---WEB-INF
| | | |---lib
| | | |---classes
| | |---inc
| |---app4
| | |---WEB-INF
| | | |---lib
| | | |---classes
| | |---inc
| |---app5
| | |---WEB-INF
| | | |---lib
| | | |---classes
| | |---inc
| |---app6
| | |---WEB-INF
| | | |---lib
| | | |---classes
| |---app7
| | |---WEB-INF
| | | |---lib
| | | |---classes
| | |---common
| | | |---javascript
| | | |---images
| | | | |---tabs
| | | |---css
2、common/classes下面存放连接数据库的配置文件;
3、复制p6spy.jar到common/lib目录下面,spy.properties复制到common/classes目录下面,已经修改了spy.properties文件的以下内容:
realdriver=oracle.jdbc.driver.OracleDriver
appender=com.p6spy.engine.logging.appender.Log4jLogger
logfile = spy.log
spy.properties文件的其它内容没有修改,默认状态。
4、执行上述目录结构bin下面的启动脚本,web服务能够正常启动,web系统也能够正常使用,spy.log文件生成在上述目录结构的根目录,spy.log内容如下:
1274235196764|-1||debug||com.p6spy.engine.common.P6SpyOptions reloading properties
1274235196769|-1||info||Using properties file: /opt/xxx/xxxx/common/classes/spy.properties
1274235196769|-1||info||No value in environment for: getStackTrace, using: false
1274235196769|-1||info||No value in environment for: getFilter, using: false
1274235196769|-1||info||No value in environment for: getAppender, using: com.p6spy.engine.logging.appender.Log4jLogger
1274235196769|-1||info||No value in environment for: getAppend, using: true
1274235196769|-1||info||No value in environment for: getDeregisterDrivers, using: false
1274235196769|-1||info||No value in environment for: getUsePrefix, using: false
1274235196769|-1||info||No value in environment for: getExecutionThreshold, using: 0
1274235196769|-1||info||No value in environment for: getAutoflush, using: true
1274235196769|-1||info||No value in environment for: getExclude, using:
1274235196769|-1||info||No value in environment for: getExcludecategories, using: info,debug,result,batch
1274235196769|-1||info||No value in environment for: getInclude, using:
1274235196769|-1||info||No value in environment for: getIncludecategories, using:
1274235196769|-1||info||No value in environment for: getLogfile, using: spy.log
1274235196770|-1||info||No value in environment for: getRealdriver, using: oracle.jdbc.driver.OracleDriver
1274235196770|-1||info||No value in environment for: getRealdriver2, using:
1274235196770|-1||info||No value in environment for: getRealdriver3, using:
1274235196770|-1||info||No value in environment for: getSpydriver, using: com.p6spy.engine.spy.P6SpyDriver
1274235196770|-1||info||No value in environment for: getDateformat, using:
1274235196770|-1||info||No value in environment for: getDateformatter, using: null
1274235196770|-1||info||No value in environment for: getStringmatcher, using: com.p6spy.engine.common.SubstringMatcher
1274235196770|-1||info||No value in environment for: getStringMatcherEngine, using: com.p6spy.engine.common.SubstringMatcher@81a197
1274235196770|-1||info||No value in environment for: getStackTraceClass, using:
1274235196770|-1||info||No value in environment for: getSQLExpression, using: null
1274235196770|-1||info||No value in environment for: getReloadProperties, using: false
1274235196770|-1||info||No value in environment for: getReloadPropertiesInterval, using: 60
1274235196770|-1||info||No value in environment for: getJNDIContextFactory, using: null
1274235196770|-1||info||No value in environment for: getJNDIContextProviderURL, using: null
1274235196770|-1||info||No value in environment for: getJNDIContextCustom, using: null
1274235196770|-1||info||No value in environment for: getRealDataSource, using: null
1274235196770|-1||info||No value in environment for: getRealDataSourceClass, using: null
1274235196770|-1||info||No value in environment for: getRealDataSourceProperties, using: null
5、此时执行web页面的任何功能,spy.log下面再无新的内容出现。
对于这样的情况,我应该怎样配置p6spy,请大家多多帮忙,谢谢、谢谢。。。
分享到:
相关推荐
P6Spy是一个开源的JDBC代理库,它允许我们监控并记录应用通过JDBC执行的所有数据库操作,包括那些由Hibernate生成的SQL语句。它不仅可以提供完整的SQL语句,还能够提供执行时间、性能指标等详细信息,这对于优化...
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
`p6spy`是一个非常实用的开源工具,它能够帮助我们监控和记录应用通过JDBC执行的所有SQL语句。这篇博客“使用p6spy完整显示hibernate的SQL语句”可能详细解释了如何配置和使用p6spy来跟踪Hibernate生成并执行的SQL。...
P6Spy是一款开源的Java工具,它允许开发者捕获和记录应用程序与数据库之间的交互,特别是SQL语句的执行。本文将详细探讨如何使用P6Spy来打印iBatis(现为MyBatis)执行的SQL语句,以便进行性能分析和调试。 首先,...
P6Spy是一个广泛使用的开源框架,它允许开发者无侵入地监控和记录应用程序中的所有SQL语句。这个项目的目标是借鉴P6Spy的部分源码,创建一个自定义的SQL执行监控器,以满足特定的需求或提供更定制化的功能。 P6Spy...
1. **SQL日志记录**:P6Spy可以捕获并记录所有执行的SQL语句,包括原始的SQL、执行时间、返回结果等,这对于追踪数据库操作和性能分析非常有用。 2. **日志格式自定义**:P6Spy允许用户通过配置文件定制日志输出...
p6spy dataSource 配置 监听真实sql语句
【p6spy精简版-跟踪SQL工具】是一款专为数据库操作监控设计的工具,它通过对JDBC驱动的拦截,实现对SQL语句的透明跟踪。这个精简版旨在简化p6spy的原生配置和使用流程,让更多非开发人员也能便捷地利用此工具来监控...
p6spy 是一个开源的 Java 框架,它的主要功能是在不修改代码的情况下,监控和记录 Java 应用程序中执行的所有 SQL 语句。这个工具对于开发者来说非常有用,因为它可以帮助定位性能瓶颈,特别是在使用 ORM(对象关系...
1. **SQL日志记录**:P6Spy 可以捕获并记录应用程序执行的所有SQL语句,包括参数和执行时间,这对于调试和性能分析非常有用。 2. **格式化输出**:P6Spy 提供了自定义的日志格式,可以按照开发者的需求定制输出信息...
P6Spy通过拦截并记录SQL语句,为开发者提供了一种无侵入式的监控解决方案。它的工作原理是在JDBC驱动层插入一个代理,所有数据库访问请求都会经过这个代理,因此可以捕获到所有的SQL操作。P6Spy的配置相对简单,只...
P6Spy的工作原理是通过代理模式,拦截SQL语句并记录其执行情况,这有助于开发者进行性能优化和问题排查。 一、P6Spy简介 P6Spy是一个SQL日志记录器,它能够捕获并记录应用程序中的所有数据操作,包括插入、更新、...
通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。P6Spy 用 Log4J 来记录 JDBC 调用的日记信息。 自从 2003 年 11 月 30 日 P6Spy 版本 1.3 ...
P6Spy通过拦截和记录SQL语句,为开发者提供了详细的日志信息,包括执行时间、连接信息等,有助于识别慢查询和优化数据库性能。配置P6Spy主要涉及修改数据库驱动类名,设置配置文件路径以及在应用中引入P6Spy的JAR...
它可以在不修改代码的情况下,记录并分析SQL语句,提供详细的执行性能信息,这对于优化数据库操作、排查问题和提升应用程序性能非常有帮助。P6Spy适用于多种数据库,包括Oracle、MySQL等,同时也兼容诸如Hibernate和...
利用P6SPY +SQL Profiler调试、记录、统计web app对数据库的操作, 可以查看到PreparedStatment的执行最终的SQL语句。 有详细的操作说明 下面的这个是集成的完整版。。太大了就不上传了。自己下吧 jahia_v6_...
一旦启用 P6Spy,每次应用程序执行 SQL 语句时,P6Spy 都会记录这些 SQL 的详细信息,包括执行前后的原始 SQL、执行参数、返回结果以及执行时间等,这对于性能调优和问题排查非常有用。 【排除ResultSet】 P6Spy ...
在Java应用中,P6Spy可以捕获和记录所有的SQL请求,而SQL Profiler则可以在服务器端提供更详细的事件追踪。这种组合可以提供从客户端到服务器端的完整查询生命周期的视图,对于诊断复杂的性能问题特别有用。 总的来...
P6Spy更侧重于日志记录和简单分析,适合日常开发和持续监控;而SqlProfiler则提供了更深入的分析功能,适用于性能调优和问题诊断。 在实际使用中,我们首先需要下载并添加P6Spy和SqlProfiler的相关依赖到项目中。...
WebLogic Server 11g是一...通过以上配置,WebLogic Server 11g将能够使用P6Spy和SQL Profiler进行数据库性能监控,为系统的优化提供数据支持。记得定期检查和分析日志,持续优化数据库性能,以保持系统高效稳定运行。