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目录)。
分享到:
相关推荐
P6Spy是一个开源的JDBC代理库,它允许我们监控并记录应用通过JDBC执行的所有数据库操作,包括那些由Hibernate生成的SQL语句。它不仅可以提供完整的SQL语句,还能够提供执行时间、性能指标等详细信息,这对于优化...
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
将P6Spy与Hibernate结合使用,可以揭示由Hibernate生成并执行的实际SQL语句,包括参数,这对于理解和优化Hibernate的行为至关重要。 1. **配置P6Spy**:首先,需要在项目的类路径下添加P6Spy的jar文件,并在数据库...
标题中提到的“输出完整SQL”,意味着P6Spy可以捕获并记录应用程序发出的所有SQL语句,包括参数。这对于调试和性能分析非常有用,特别是当SQL语句是动态生成或者使用了预编译的PreparedStatement时。 5. **兼容性*...
3. **调试问题**:如果遇到数据库相关的错误或异常,P6Spy的日志可以帮助你快速定位问题所在,因为它们包含了完整的SQL语句和执行上下文。 总之,P6Spy 是一个强大的数据库监控工具,能够提供宝贵的数据库操作信息...
这个工具对于开发者来说非常有用,因为它可以帮助定位性能瓶颈,特别是在使用 ORM(对象关系映射)框架如 Hibernate、JPA 等时,这些框架通常会生成复杂的 SQL 语句,而直接查看源代码并不容易获取这些语句。...
p6spy能够拦截并记录通过JDBC执行的所有SQL语句,包括PreparedStatement中的参数,使得SQL语句的分析和优化变得更加方便。 【SQL语句优化的重要性】 在企业级应用中,SQL语句的性能是决定整体系统效率的关键因素之...
- **概述**:文档提到p6spy可以用于拦截Hibernate通过JDBC执行的SQL语句。Hibernate是一个流行的ORM框架,用于简化Java应用中的数据访问操作。 - **具体步骤**: 1. **替换数据库驱动**:正如前文所述,首先需要将...
P6Spy可以帮助我们监控这些操作,记录执行的SQL语句,包括它们的执行时间、返回结果等信息。这有助于识别可能引起性能瓶颈的慢查询,或者发现可能导致错误或异常的数据输入。 配置P6Spy通常涉及以下几个步骤: 1. ...
标题中的“监控SQL输出-可以查看HQL转成SQL的结果值”指的是在使用HQL(Hibernate Query Language)进行数据库操作时,如何通过某些工具或手段来观察这些高级查询语句被转换成底层数据库能理解的SQL语句的过程,并对...
与hibernate配合使用实现sql语句参数的打印及其他的一些性能方面的监控,有利于优化sql代码,用法上网随便一搜很多的
Hibernate自动生成的SQL语句可能在某些情况下并不是最优化的,因此监控和优化这些SQL语句对于提高整体应用性能是必要的。 在提到提升Hibernate性能的魔方——IronTrack SQL时,我们必须首先了解IronTrack SQL的背景...
P6Spy是一个开源的数据库监控工具,它可以捕获并记录所有的SQL语句,包括执行时间和参数,这对于性能分析、调试和审计非常有价值。在Java应用中集成P6Spy,可以通过配置让其代理数据库驱动,从而在不影响现有代码的...
p6spy是一款轻量级的数据库日志工具,它可以拦截JDBC的调用,记录并打印出执行的SQL语句,对于调试非常有用。 #### 配置p6spy 1. **添加依赖** 在项目的`pom.xml`文件中添加p6spy依赖。 2. **配置日志** 通过...
4、使用p6spy 打印出hibernate 中已经替换了占位符参数的sql语句,为hibernate的调试不在感到苦恼 系统部署我使用的ant 部署,代码包含ant部署文件 skyline\coding\src\config\jdbc.properties 为数据库配置...
Maven框架项目该项目不再更新维护,请移步该项目基于maven3.0构建的,项目中融合了Struts1 , Struts2 , Spring , SpringMVC , ...项目中的持久化框架sql语句的跟踪分别采用log4jdbc结合log4j和p6spy ,在控
同时,使用特定数据库监控工具,如P6SPY和SQL Profiler,可以深入分析SQL执行情况,找出性能瓶颈。 在提到的Hibernate3缺点中,一级缓存的强引用问题可能导致内存占用过多。为了解决这个问题,开发者可以适时调用`...