前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jboss:跟踪所有sql语句及sql参数

jboss:跟踪所有sql语句及sql参数

作者头像
菩提树下的杨过
发布2018-01-24 11:38:42
9870
发布2018-01-24 11:38:42
举报

默认情况下,hibernate/JPA 在server.log中记录的SQL语句,参数都是用?代替的,这样不太方便. 网上留传的p6spy在最新的jboss上(EAP 6.0+版本)貌似已经不起作用了(至少我没弄成功过)

幸好,Jboss已经自带了jdbc监控功能,开启步骤如下:

1、standalone.xml中增加

代码语言:javascript
复制
1             <logger category="jboss.jdbc.spy">
2                 <level name="DEBUG"/>
3             </logger>

2、所有的DataSouce节点上,增加spy="true",参考下面这样:

代码语言:javascript
复制
1 <datasource jta="false" jndi-name="java:/XE" pool-name="XE" enabled="true" spy="true" use-ccm="false">
2                     <connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url>
3                     <driver-class>oracle.jdbc.OracleDriver</driver-class>
4 ...

好了,server.log中就会记录详细的sql信息,类似下面这样:

...

11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2) Hibernate: 11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2)     /* insert org.jboss.as.quickstart.hibernate4.model.Member 11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2)         */ insert 11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2)         into 11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2)             MemberHibernate4Demo 11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2)             (address, email, name, phone_number, id) 11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2)         values 11:26:28,788 INFO  [stdout] (http-localhost/127.0.0.1:8080-2)             (?, ?, ?, ?, ?) 11:26:28,788 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(1, shanghai,China) 11:26:28,788 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(2, jimmy.yang@jboss.org) 11:26:28,789 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(3, jimmy) 11:26:28,789 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(4, 13916752129) 11:26:28,789 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setLong(5, 4)

...

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-01-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档