首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >记录Hibernate 4.3中的查询(使用SLF4J+Logback或P6SPY)

记录Hibernate 4.3中的查询(使用SLF4J+Logback或P6SPY)
EN

Stack Overflow用户
提问于 2014-05-07 09:50:38
回答 1查看 1.1K关注 0票数 0

我使用玻璃鱼4和Hibernate 4.3。

如何记录Hibernate中的每个查询?

我的第一次尝试涉及SLF4J 1.7.7和Logback 1.1.2。我尝试了一些使用SLF4J和Logback的教程,但是没有结果。一个教程说要手动更改一些文件,并为glassfish添加一些选项,但我不喜欢这种方式。

在第二次尝试中,我使用了P6SPY 2.0.2。要使这个库正常工作,我需要更改连接以使用P6SPY驱动程序,并将spy.properties配置为使用真正的驱动程序。由于我已经在Glassfish上配置了我的连接池,所以我尝试在那里配置P6SPY安装教程,但是我没有设法使我的新DataSource正常工作。在P6SPY安装教程中,有一种使用java.sqlDriver和javax.sql.ConnectionPoolDataSource进行配置的方法,但我使用的是javax.sql.DataSource。

所以,这是对玻璃鱼使用SLF4J的唯一方法吗?您知道教程或如何配置它吗?

如果SLF4J不能工作,我如何配置P6SPY来使用Glassfish连接池记录查询?

还有更好的选择吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-09 04:10:40

要在Glassfish上使用P6Spy和DataSource,您需要设置第二个DataSource。您这样做的方式非常类似于设置ConnectionPoolDataSource的说明。唯一的区别是将res-type设置为javax.sql.DataSource。

示例:

代码语言:javascript
复制
<jdbc-connection-pool datasource-classname="com.p6spy.engine.spy.P6DataSource" res-type="javax.sql.DataSource" name="p6spyPool">
  <property name="realDataSource" value="jdbc/myrealds"></property>
  <property name="Password" value=""></property>
  <property name="User" value="sa"></property>
</jdbc-connection-pool>
<jdbc-resource pool-name="p6spyPool" jndi-name="jdbc/p6spy"></jdbc-resource>   

注意:您需要用真正数据源的jndi名称替换jdbc/myrealds。

此外,在使用数据源代理时,不需要在spy.properties中配置真正的驱动程序。

如果您在配置上仍有问题,请向p6间谍用户@googlegroups.com发送消息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23514396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档